The following guidelines describe how ADSI interacts with
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
ADSI performs a lookup in the registry and identifies the
extension CLSIDs for user. Be aware that ADSI caches
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
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
Again, ADSI searches the interfaces and creates the component