ADSI 如何集成扩展
以下指南介绍了 ADSI 如何与扩展交互:
- 某些内容绑定到 ADSI 目录对象。 例如,“LDAP://CN=JeffSmith,OU=Sales,DC=Fabrikam,DC=COM”。
- ADSI 标识对象位于用户类中。
- ADSI 在注册表中执行查找,并标识用户的扩展 CLSID。 请注意,ADSI 会缓存此数据。
- 某些内容调用 IID_IMyExtension 的 QueryInterface 方法。 ADSI 搜索与 用户 对象关联的接口,从自己的接口开始,然后查看扩展接口。
- 如果找到匹配项,ADSI 将创建支持IID_IMyExtension的组件的实例,并调用 扩展的 QueryInterface 。 返回生成的接口。
- 用户使用此接口调用接口方法。
- 接下来,客户端调用 QueryInterface for IID_IYourExtension,该查询位于其他组件中。 此组件将此 QueryInterface 调用委托给聚合器的 IUnknown 接口,该接口恰好是 ADSI 本身。
- 同样,ADSI 会搜索接口并创建组件实例。