Compartilhar via


Método IObjectControl::Activate (comsvcs.h)

Permite que um objeto COM+ execute a inicialização específica do contexto sempre que ele é ativado. Esse método é chamado pelo ambiente de tempo de execução COM+ antes que outros métodos sejam chamados no objeto .

Sintaxe

HRESULT Activate();

Retornar valor

Esse método pode retornar os valores de retorno padrão E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL e S_OK.

Comentários

Sempre que um cliente chama um objeto COM+ que ainda não está ativo, o ambiente de tempo de execução COM+ ativa automaticamente o objeto. Isso se chama Ativação Just-In-Time. Para componentes que dão suporte a IObjectControl como uma interface, COM+ invoca o método Activate do objeto antes de passar a chamada de método do cliente para o objeto .

Todos os procedimentos de inicialização específicos do contexto devem ser implementados no método Activate para objetos que expõem IObjectControl.

Por exemplo, você pode usar o método Activate para obter uma referência ao contexto de um objeto e armazená-lo em uma variável de membro. Em seguida, o contexto do objeto está disponível para qualquer método que o exija e você não precisa adquirir um novo sempre que quiser usá-lo. Depois de fazer referência ao contexto do objeto, você pode usar os métodos IObjectControl para marcar se a segurança está habilitada, se o objeto está sendo executado em uma transação ou se o chamador está em uma função específica.

Se você estiver habilitando a reciclagem de objetos (implementando o método CanBePooled para consultar o objeto), o método Activate deverá ser capaz de lidar com objetos recém-criados e reciclados. Quando o método Activate retorna, não deve haver diferença diferencial entre um novo objeto e um reciclado.

O COM+ proíbe expressamente chamar em um objeto que expõe IObjectControl antes de chamar o método Activate (quando ele está em seu construtor). Essa chamada resultaria em um erro de RPC_E_DISCONNECTED. Por exemplo, se um objeto passar uma referência a si mesmo enquanto estiver em seu construtor e, em seguida, a referência chamar de volta para esse objeto antes da chamada para Ativar, o erro desconectado será retornado.

Você também pode usar o método Activate para obter uma referência à interface ISecurityProperty do objeto e marcar a ID de segurança do criador do objeto antes que qualquer método seja chamado.

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