双重接口 (ADSI)

使用 COM 接口访问针对任意提供程序 ADSI 对象的属性和方法。 只读属性会映射到窗体 get_<PropertyName> 的接口条目。 读/写属性会映射到窗体 get_<PropertyName>put_<PropertyName> 的两个接口条目。

针对 COM 接口的所有方法均须:

  • 返回 HRESULT 值以指示成功或失败。 COM 规范中讨论了 HRESULT 类型。
  • 调用 QueryInterface 时,会为未实现的接口返回 E_NOINTERFACE
  • 而对已实现接口的未实现方法,则会返回 E_NOTIMPL
  • 对不支持的接口属性,则会返回 E_ADS_PROPERTY_NOT_SUPPORTED

若要保持与自动化控制器的兼容性,所有参数和返回类型均应位于自动化 VARIANT 数据类型所定义的子集内。 有关详细信息,请参阅平台软件开发工具包 (SDK) 中的 VARIANTVARIANTARG

提供程序 Active Directory 对象可公开使用 VARIANT 子集以外其他数据类型的接口。 但是,自动化控制器(如 Visual Basic)无法调用这些接口。 大多数 ADSI 提供程序接口均派生自 IDispatch,并可用作 IDispatch 接口指针。 但是,IDirectoryObjectIDirectorySearchIADsExtension ADSI 接口并非派生自 IDispatch