Compartir a través de


Interfaz IADsExtension (iads.h)

La interfaz IADsExtension forma la base del modelo de extensión de aplicación ADSI. Permite a un proveedor de software independiente (ISV) agregar comportamientos específicos de la aplicación, como métodos o funciones, a un objeto ADSI existente. Varios proveedores pueden ampliar de forma independiente las características del mismo objeto para realizar operaciones similares, pero no relacionadas.

El modelo de extensión se basa en el modelo de agregación en COM. Un agregador, o un objeto externo, pueden agregarse a su base de métodos, los de un objeto agregado o un objeto interno. Un objeto de extensión ADSI, que implementa la interfaz IADsExtension , es un objeto agregado, mientras que un proveedor ADSI es un agregador.

Nota Al implementar un módulo de extensión, libere una interfaz cuando termine con él. De lo contrario, el agregador no puede liberar la interfaz incluso cuando ya no sea necesario.
 
La interfaz IADsExtension se puede usar de la siguiente manera:
  • El componente de extensión requiere una notificación de inicialización definida por dwCode en el método Operate . En este caso, un cliente de extensión debe llamar al método Operate . Los otros dos métodos, es decir, PrivateInvoke y PrivateGetIDsOfNames, normalmente devuelven E_NOTIMPL en el valor HRESULT .
  • El componente de extensión admite cualquier interfaz dual o de distribución. En este caso, un cliente de extensión debe llamar a los métodos PrivateGetIDsOfNames o PrivateInvoke . El funcionamiento normalmente omite los datos y devuelve E_NOTIMPL en el valor HRESULT .

Herencia

La interfaz IADsExtension hereda de la interfaz IUnknown . IADsExtension también tiene estos tipos de miembros:

Métodos

La interfaz IADsExtension tiene estos métodos.

 
IADsExtension::Operate

Interpreta el código de control y los parámetros de entrada según las especificaciones del proveedor.
IADsExtension::P rivateGetIDsOfNames

El agregador llama al método IADsExtension::P rivateGetIDsOfNames. El método puede usar los datos de tipo para obtener DISPID mediante IDispatch::GetIDsOfNames.
IADsExtension::P rivateInvoke

ADSI llama normalmente al método IADsExtension::P rivateInvoke después del método IADsExtension::P rivateGetIDsOfNames. Este método puede tener una implementación personalizada o puede delegar la operación en el método IDispatch::D ispInvoke.

Requisitos

   
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado iads.h