Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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.