Compartir a través de


Uso de las interfaces de IAD

ADSI, cada elemento de un servicio de directorio se representa mediante un objeto ADSI, que es un objeto modelo de objetos componentes (COM) que admite la interfaz IUnknown COM estándar, así como las interfaces IDispatch e IADs . Los IAD suministran las funciones de mantenimiento básicas para objetos ADSI.

Cada objeto ADSI debe admitir esta interfaz, que sirve para:

  • Proporcione la identificación del objeto por nombre, clase o ADsPath.
  • Identifique el contenedor de objetos que administra la creación y eliminación de objetos.
  • Obtenga la definición del esquema de objeto.
  • Cargue los atributos de objeto en la memoria caché de propiedades y confirme los cambios en el almacén de directorios persistente.
  • Obtenga acceso y modifique los valores del atributo de objeto en la memoria caché de propiedades.

La interfaz de los IAD está diseñada para garantizar que los objetos ADSI proporcionan a los administradores de red y a los proveedores de servicios de directorio una representación eficaz y coherente de varios servicios de directorio subyacentes.

adsi object que admite la interfaz iads

En la ilustración anterior se muestra un objeto ADSI genérico que admite los IAD de interfaces fundamentales, IADsPropertyList, IUnknown, IDirectoryObject e IDispatch. Un objeto ADSI como este administra los datos del almacén de datos del servicio de directorio subyacente a través de las interfaces que admite. Estos datos se conocen como propiedades del objeto y las rutinas que obtienen y establecen estas propiedades se conocen como métodos de propiedad. Las propiedades de solo lectura tienen un método de propiedad que obtiene el valor de la propiedad. Las propiedades de lectura y escritura tienen dos métodos; un método que establece el valor y uno que obtiene el valor. Las propiedades se implementan en cada objeto ADSI mediante una caché de propiedades. IADs::get_ADsPath e IADs::p ut_ADsPath son ejemplos de métodos de propiedad. Los métodos de propiedad no son evidentes para Visual Basic y otros clientes de Automation que habilitan referencias directas a la propiedad . Por ejemplo, Visual Basic hace referencia a IADs::ADsPath directamente mediante la sintaxis Object.ADsPath . Para obtener más información, vea Métodos de propiedad de interfaz.

Además, un objeto ADSI interactúa con otros objetos ADSI y directamente a un espacio de nombres a través de métodos. Los métodos se ejecutan inmediatamente. Algunos ejemplos de métodos son IADs::SetInfo e IADs::GetInfo.

Se accede a las propiedades, los métodos de propiedad y los métodos a través de interfaces COM estándar.

Un objeto ADSI se identifica de forma única por su ADsPath. Por ejemplo, un ADsPath para el espacio de nombres LDAP es "LDAP://MyServer/DC=Fabrikam,DC=COM". Para obtener más información sobre ADsPaths, vea Enlace ADSI. Para los programadores familiarizados con los monikers COM, esto es conceptualmente similar al nombre para mostrar del moniker COM.

Cualquier objeto ADSI que contenga otros objetos ADSI, denominado objeto contenedor ADSI, también admite la interfaz IADsContainer , que proporciona métodos y propiedades que administran la creación, eliminación y enumeración de objetos ADSI contenidos en el objeto. En la ilustración siguiente se muestra un objeto contenedor ADSI.

adsi container (objeto)

La mayoría de los objetos ADSI están contenidos en otros objetos. El único objeto ADSI sin contenedor primario es el objeto espacios de nombres ADSI de nivel superior ("ADS:").

El método IADs::SetInfo de un objeto contenedor almacena persistentemente las propiedades almacenadas en caché del objeto contenedor ADSI en el almacenamiento, además de los objetos creados con el método IADsContainer::Create . IADsContainer::D elete no afecta a la caché de propiedades, sino que elimina el elemento de directorio del espacio de nombres subyacente representado por este objeto.