Compartilhar via


Método IObjectControl::D eactivate (comsvcs.h)

Permite que um objeto COM+ execute a limpeza necessária antes de ser reciclado ou destruído.

Esse método é chamado pelo ambiente de tempo de execução COM+ sempre que um objeto é desativado. Não faça chamadas de método em objetos na mesma atividade desse método.

Sintaxe

void Deactivate();

Retornar valor

Nenhum

Comentários

O ambiente de tempo de execução COM+ chama o método Deactivate sempre que um objeto que dá suporte à interface IObjectControl é desativado. Um objeto é desativado quando retorna de um método no qual o método chamado SetComplete ou SetAbort, quando a transação na qual ele executou é confirmada ou anulada, ou quando o último cliente a manter uma referência no objeto libera sua referência.

Se o componente der suporte à reciclagem (retorna TRUE do método CanBePooled ), você deve usar o método Deactivate para redefinir o estado do objeto para o estado no qual o método Activate espera encontrá-lo. Você também pode usar o método Deactivate para liberar o contexto do objeto ou para fazer outra limpeza específica do contexto. Mesmo que um objeto dê suporte à reciclagem, pode ser benéfico liberar determinados recursos reutilizáveis em seu método Deactivate . Por exemplo, o ODBC fornece seu próprio pool de conexões. É mais eficiente agrupar uma conexão de banco de dados em um pool de conexões geral em que outros objetos podem usá-la do que mantê-la vinculada a um objeto específico em um pool de objetos.

O COM+ proíbe expressamente chamar em um objeto que expõe IObjectControl depois que o método de desativação tiver retornado (quando ele estiver em seu destruidor). Essa chamada resultaria em um erro de RPC_E_DISCONNECTED. Por exemplo, se um objeto tiver passado uma referência para si mesmo e, em seguida, chamar de volta para o objeto depois que Deactivate tiver retornado, um erro desconectado resultará.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho comsvcs.h

Confira também

IObjectControl