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 会搜索接口并创建组件实例。