雙重介面 (ADSI)

使用 COM 介面來存取任何提供者 ADSI 物件上的屬性和方法。 只讀屬性會對應至表單 的介面專案 get_<PropertyName>。 讀取/寫入屬性會對應至窗體的兩個介面專案,get_PropertyName> 和 put_<PropertyName。<>

COM 介面上的所有方法都必須:

  • 傳回 HRESULT 值,指出成功或失敗。 COM 規格中會討論 HRESULT 類型。
  • 在呼叫 QueryInterface 時,針對未實作的介面傳回 E_NOINTERFACE
  • 針對其他實作之介面上未實作的方法傳回 E_NOTIMPL
  • 針對不支援的介面屬性,傳回 E_ADS_PROPERTY_NOT_SUPPORTED

若要保留與自動化控制器的相容性,所有參數和傳回類型都應該位於 Automation VARIANT 數據類型所定義的子集內。 如需詳細資訊,請參閱 平臺軟體開發工具包 (SDK) 中的 VARIANTVARIANTARG

提供者 Active Directory 物件可以公開介面,這些介面會使用 VARIANT 子集中以外的數據類型。 不過,Visual Basic 之類的自動化控制器無法呼叫這些介面。 大部分 ADSI 提供者介面都是衍生自 IDispatch ,而且可作為 IDispatch 介面指標使用。 不過,IDirectoryObjectIDirectorySearch IADsExtension ADSI 介面不是衍生自 IDispatch。