Share via


Interface IADsExtension (iads.h)

A interface IADsExtension forma a base do modelo de extensão de aplicativo ADSI. Ele permite que um ISV (fornecedor independente de software) adicione comportamentos específicos do aplicativo, como métodos ou funções, a um objeto ADSI existente. Vários fornecedores podem estender independentemente os recursos do mesmo objeto para executar operações semelhantes, mas não relacionadas.

O modelo de extensão é baseado no modelo de agregação no COM. Um agregador, ou objeto externo, pode adicionar à sua base de métodos, aqueles de um objeto de agregação ou objeto interno. Um objeto de extensão ADSI, que implementa a interface IADsExtension , é um objeto de agregação, enquanto um provedor ADSI é um agregador.

Nota Ao implementar um módulo de extensão, libere uma interface quando terminar com ele. Caso contrário, o agregador não poderá liberar a interface mesmo quando não for mais necessário.
 
A interface IADsExtension pode ser usada da seguinte maneira:
  • O componente de extensão requer uma notificação de inicialização conforme definido pelo dwCode no método Operate . Nesse caso, um cliente de extensão deve chamar o método Operate . Os outros dois métodos, ou seja, PrivateInvoke e PrivateGetIDsOfNames, geralmente retornam E_NOTIMPL no valor HRESULT .
  • O componente de extensão dá suporte a qualquer interface dupla ou de expedição. Nesse caso, um cliente de extensão deve chamar os métodos PrivateGetIDsOfNames ou PrivateInvoke . Operar geralmente ignora os dados e retorna E_NOTIMPL no valor HRESULT .

Herança

A interface IADsExtension herda da interface IUnknown . IADsExtension também tem estes tipos de membros:

Métodos

A interface IADsExtension tem esses métodos.

 
IADsExtension::Operate

Interpreta o código de controle e os parâmetros de entrada de acordo com as especificações do provedor.
IADsExtension::P rivateGetIDsOfNames

O método IADsExtension::P rivateGetIDsOfNames é chamado pelo agregador, ADSI, depois que ADSI determina que a extensão é usada para dar suporte a uma interface dupla ou de expedição. O método pode usar os dados de tipo para obter DISPID usando IDispatch::GetIDsOfNames.
IADsExtension::P rivateInvoke

O método IADsExtension::P rivateInvoke normalmente é chamado pelo ADSI após o método IADsExtension::P rivateGetIDsOfNames. Esse método pode ter uma implementação personalizada ou pode delegar a operação ao método IDispatch::D ispInvoke.

Requisitos

   
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho iads.h