Compartir a través de


Elección de una interfaz para el enlace

Cuando se enlaza un objeto de directorio, el autor de la llamada especifica el tipo de interfaz ADSI deseada. Todos los objetos de directorio ADSI admiten la interfaz de los IAD . Un objeto ADSI también puede admitir otras interfaces. Las interfaces reales admitidas por el objeto dependen de la clase de objeto . Por ejemplo, un objeto de usuario admite la interfaz IADsUser , pero no admitirá la interfaz IADsComputer .

Los clientes de Automatización deben usar las interfaces IAD* porque estas interfaces son interfaces duales que proporcionan un mayor nivel de abstracción y proporcionan datos mediante el tipo de datos VARIANT .

Además de las interfaces IAD* , los clientes de C/C++ pueden usar las interfaces IDirectoryObject e IDirectorySearch . Estas interfaces no son interfaces duales y no admiten la automatización. Estas interfaces proporcionan un mayor control sobre qué atributos recuperar y permitir el acceso a los datos sin procesar almacenados en una propiedad. Por ejemplo, cuando se usa el método IADs::Get para recuperar el atributo ntSecurityDescriptor de un objeto, el método IADs::Get proporciona un puntero de interfaz IDispatch que admite la interfaz IADsSecurityDescriptor . ADSI proporciona la interfaz IADsSecurityDescriptor para representar un descriptor de seguridad. En comparación, cuando se usa el método IDirectoryObject::GetObjectAttributes para recuperar el atributo ntSecurityDescriptor , IDirectoryObject::GetObjectAttributes proporciona una matriz de bytes que se puede convertir en una estructura de SECURITY_DESCRIPTOR . Las API de seguridad de Win32 se pueden usar con estos datos para manipular el descriptor de seguridad.