共用方式為


Interface 屬性方法

許多 ADSI 介面都是設計來支援自動化,因此是雙重介面,因為它們同時支援透過 IUnknownIDispatch 介面進行用戶端存取。 非自動化用戶端,例如以 C/C++ 撰寫的用戶端、使用 IUnknown::QueryInterface 方法直接解析方法調用,並直接呼叫 方法。 自動化用戶端也稱為名稱系結用戶端,例如以 Visual Basic 撰寫的用戶端,或 Visual Basic Scripting Edition (VBScript) ,必須使用 dispinterface 方法間接解析方法調用。

支援自動化的 ADSI 介面會定義屬性方法,以擷取和修改實作介面之物件的屬性。 屬性方法的名稱前面會加上 get_ 和 put_ ,例如 ,get_Userput_Name

每個 get_ 方法都會採用單一參數作為輸出。 此參數是屬性資料類型之變數的方法配置位址。 傳回時,此變數會假設所要求屬性的目前值。 當不再需要 屬性時,呼叫端必須釋放變數配置的記憶體。

每個 put_ 方法都會採用單一參數作為對應屬性資料類型的輸入。 參數會保存 屬性的新值。

下列程式碼範例顯示內容方法的調用,這些方法遵循一般程式來呼叫 物件的成員函式。

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

下列程式碼範例顯示自動化用戶端中屬性方法的叫用,可能稍有不同。 例如,Visual Basic 使用點標記法。

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

所有參數和傳回型別都必須是 VARIANT 資料類型所定義的參數。 雙重介面上的所有方法都會傳回 HRESULT 值,以表示成功或失敗。

如需在 ADSI 物件上取得和設定屬性的詳細資訊,請參閱 屬性快取