Freigeben über


Auswählen einer Schnittstelle für die Bindung

Wenn ein Verzeichnisobjekt an gebunden ist, gibt der Aufrufer den Typ der gewünschten ADSI-Schnittstelle an. Alle ADSI-Verzeichnisobjekte unterstützen die IADs-Schnittstelle . Ein ADSI-Objekt kann auch andere Schnittstellen unterstützen. Die tatsächlich vom Objekt unterstützten Schnittstellen hängen von der Objektklasse ab. Beispielsweise unterstützt ein Benutzerobjekt die IADsUser-Schnittstelle , aber die IADsComputer-Schnittstelle nicht.

Automatisierungsclients sollten die IADs* -Schnittstellen verwenden, da es sich bei diesen Schnittstellen um Zweischnittstellen handelt, die eine höhere Abstraktionsebene bieten und Daten mithilfe des VARIANT-Datentyps bereitstellen.

Zusätzlich zu den IADs* -Schnittstellen können C/C++-Clients die Schnittstellen IDirectoryObject und IDirectorySearch verwenden. Diese Schnittstellen sind keine Dualschnittstellen und unterstützen keine Automatisierung. Diese Schnittstellen bieten eine bessere Kontrolle darüber, welche Attribute abgerufen und der Zugriff auf die in einer Eigenschaft gespeicherten Rohdaten zulässig ist. Wenn beispielsweise die IADs::Get-Methode zum Abrufen des ntSecurityDescriptor-Attributs für ein Objekt verwendet wird, stellt die IADs::Get-Methode einen IDispatch-Schnittstellenzeiger bereit, der die IADsSecurityDescriptor-Schnittstelle unterstützt. Die IADsSecurityDescriptor-Schnittstelle wird von ADSI bereitgestellt, um einen Sicherheitsdeskriptor darzustellen. Wenn die IDirectoryObject::GetObjectAttributes-Methode zum Abrufen des ntSecurityDescriptor-Attributs verwendet wird, stellt IDirectoryObject::GetObjectAttributes ein Array von Bytes bereit, das in eine SECURITY_DESCRIPTOR-Struktur umgewandelt werden kann. Die Win32-Sicherheits-APIs können mit diesen Daten verwendet werden, um die Sicherheitsbeschreibung zu bearbeiten.