Binding to a Class Store Provider
When binding to a class store provider listed in the class store search path, the Class Store Manager object performs the following operations:
-
Call MkParseDisplayName, which finds the provider's ProgID (the URL prefix), and creates the class factory object for the provider object.
-
MkParseDisplayName queries the provider object for IParseDisplayName to pass the URL (moniker display name) to the provider's class factory.
-
The provider's class factory looks for an existing moniker object for this URL in the Running Object Table (ROT). If an object already exists, a reference to this object is returned to the caller.
-
If no object exists in the ROT, the provider's class factory creates a new object and, in the case of the provider for ADSI/LDAP, passes it the remainder of the URL.
-
The newly-created ADSI/LDAP provider moniker object calls MkParseDisplayName which finds the LDAP ProgID and creates the class factory for the LDAP ADSI provider object.
-
MkParseDisplayName queries the LDAP ADSI provider for IParseDisplayName, then passes the LDAP URL.
-
The LDAP ADSI provider returns a moniker object initialized to the LDAP URL, which is returned to the provider moniker object.
-
The provider moniker object binds to the LDAP ADSI moniker and queries for IID_IADSObject.
-
The provider's class factory returns an initialized moniker object to the client.
-
The Class Store Manager binds to the moniker object, which returns the ADCS object.