IADsExtension 接口 (iads.h)

IADsExtension 接口构成了 ADSI 应用程序扩展模型的基础。 它允许独立软件供应商 (ISV) 将特定于应用程序的行为(如方法或函数)添加到现有 ADSI 对象中。 多个供应商可以独立扩展同一对象的功能,以执行类似但不相关的操作。

扩展模型基于 COM 中的聚合模型。 聚合器或外部对象可以添加到其方法基、聚合对象或内部对象的方法。 实现 IADsExtension 接口的 ADSI 扩展对象是聚合对象,而 ADSI 提供程序是聚合器。

注意 实现扩展模块时,请在完成该模块后释放接口。 否则,即使不再需要,聚合器也无法释放接口。
 
可以使用 IADsExtension 接口,如下所示:
  • 扩展组件需要由操作方法中的 dwCode 定义的初始化通知。 在这种情况下,扩展客户端必须调用 操作 方法。 其他两种方法(即 PrivateInvokePrivateGetIDsOfNames)通常返回 HRESULT 值中的E_NOTIMPL
  • 扩展组件支持任何双接口或调度接口。 在这种情况下,扩展客户端必须调用 PrivateGetIDsOfNamesPrivateInvoke 方法。 操作通常忽略数据,并返回 HRESULT 值中的E_NOTIMPL

继承

IADsExtension 接口继承自 IUnknown 接口。 IADsExtension 还具有以下类型的成员:

方法

IADsExtension 接口具有这些方法。

 
IADsExtension::操作

根据提供程序的规范解释控制代码和输入参数。
IADsExtension::P rivateGetIDsOfNames

IADsExtension::P rivateGetIDsOfNames 方法由聚合器 ADSI 调用,然后 ADSI 确定该扩展用于支持双重接口或调度接口。 方法可以使用类型数据通过 IDispatch::GetIDsOfNames 获取 DISPID。
IADsExtension::P rivateInvoke

IADsExtension::P rivateInvoke 方法通常由 ADSI 在 IADsExtension::P rivateGetIDsOfNames 方法之后调用。 此方法可以具有自定义实现,也可以将操作委托给 IDispatch::D ispInvoke 方法。

要求

   
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 iads.h