Methoden der Interface-Eigenschaft

Viele ADSI-Schnittstellen sind so konzipiert, dass sie Automatisierung unterstützen und daher duale Schnittstellen sind, da sie den Clientzugriff sowohl über IUnknown - als auch über IDispatch-Schnittstellen unterstützen. Nicht-Automation-Clients, z. B. in C/C++ geschriebene, lösen den Methodenaufruf direkt auf, indem Sie die IUnknown::QueryInterface-Methode verwenden, und rufen die Methode direkt auf. Automatisierungsclients, die auch als namengebundene Clients bezeichnet werden, z. B. in Visual Basic oder Visual Basic Scripting Edition (VBScript) geschriebene Clients, müssen den Methodenaufruf indirekt mithilfe der dispinterface-Methode auflösen.

Eine ADSI-Schnittstelle, die Automation unterstützt, definiert Eigenschaftenmethoden zum Abrufen und Ändern von Eigenschaften eines Objekts, das die Schnittstelle implementiert. Die Eigenschaftenmethoden verfügen über Namen, die get_ und put_ den entsprechenden Eigenschaftennamen vorangestellt haben, z. B. get_User und put_Name.

Jede get_ Methode verwendet einen einzelnen Parameter als Ausgabe. Dieser Parameter ist eine methodenseitig zugeordnete Adresse einer Variablen des Eigenschaftsdatentyps. Bei der Rückgabe nimmt diese Variable den aktuellen Wert der angeforderten Eigenschaft an. Der Aufrufer muss den zugeordneten Arbeitsspeicher der Variablen freigeben, wenn die -Eigenschaft nicht mehr benötigt wird.

Jede put_ Methode verwendet einen einzelnen Parameter als Eingabe für den Datentyp der entsprechenden Eigenschaft. Der Parameter enthält einen neuen Wert der -Eigenschaft.

Das folgende Codebeispiel zeigt den Aufruf der Eigenschaftsmethoden, die dem üblichen Verfahren zum Aufrufen der Memberfunktion eines Objekts folgen.

IADs *pADs;
BSTR bstrName;
pADs->get_Name(&bstrName);

Das folgende Codebeispiel zeigt den Aufruf der Eigenschaftsmethoden in Automatisierungsclients, die etwas anders sein können. Visual Basic verwendet beispielsweise die Punktnotation.

Dim Obj As IADs
Dim objName As String
objName = Obj.Name

Alle Parameter und Rückgabetypen müssen von denen sein, die vom VARIANT-Datentyp definiert werden. Alle Methoden auf einer dualen Schnittstelle geben einen HRESULT-Wert zurück, um Erfolg oder Fehler anzugeben.

Weitere Informationen zum Abrufen und Festlegen von Eigenschaften für ADSI-Objekte finden Sie unter Eigenschaftencache.