Skip to content

Latest commit

 

History

History
28 lines (23 loc) · 1.5 KB

adsi-and-extensions.md

File metadata and controls

28 lines (23 loc) · 1.5 KB
title description ms.assetid ms.tgt_platform keywords ms.topic ms.date
How ADSI Integrates Extensions
Guidelines that describe how ADSI interacts with extensions.
00301551-ec56-4cb4-8e77-264c3ad48814
multiple
extensions ADSI
adsi and extensions
concept-article
05/31/2018

How ADSI Integrates Extensions

The following guidelines describe how ADSI interacts with extensions:

  • Something binds to an ADSI directory object. For example, "LDAP://CN=JeffSmith,OU=Sales,DC=Fabrikam,DC=COM".
  • ADSI identifies that the object is in the user class.
  • ADSI performs a lookup in the registry and identifies the extension CLSIDs for user. Be aware that ADSI caches this data.
  • Something calls the QueryInterface method for IID_IMyExtension. ADSI searches the interfaces associated with the user object, starting with its own interfaces, then looking at extension interfaces.
  • If a match is found, ADSI creates an instance of the component that supports IID_IMyExtension, and calls QueryInterface for the extension. The resulting interface is returned.
  • The user uses this interface to call the interface methods.
  • Next, the client calls QueryInterface for IID_IYourExtension, which is in a different component. This component delegates this QueryInterface call to the IUnknown interface of the aggregator, which happens to be ADSI itself.
  • Again, ADSI searches the interfaces and creates the component instance.