Come ADSI integra le estensioni
Le linee guida seguenti descrivono come ADSI interagisce con le estensioni:
- Un elemento viene associato a un oggetto directory ADSI. Ad esempio, "LDAP://CN=JeffSmith,OU=Sales,DC=Fabrikam,DC=COM".
- ADSI identifica che l'oggetto si trova nella classe utente .
- ADSI esegue una ricerca nel Registro di sistema e identifica i CLSID dell'estensione per l'utente. Tenere presente che ADSI memorizza nella cache questi dati.
- Un elemento chiama il metodo QueryInterface per IID_IMyExtension. ADSI cerca le interfacce associate all'oggetto utente , a partire dalle proprie interfacce, quindi esaminando le interfacce di estensione.
- Se viene trovata una corrispondenza, ADSI crea un'istanza del componente che supporta IID_IMyExtension e chiama QueryInterface per l'estensione. Viene restituita l'interfaccia risultante.
- L'utente usa questa interfaccia per chiamare i metodi di interfaccia.
- Il client chiama quindi QueryInterface per IID_IYourExtension, che si trova in un componente diverso. Questo componente delega questa chiamata QueryInterface all'interfaccia IUnknown dell'aggregatore, che si verifica come ADSI stessa.
- Anche in questo caso, ADSI cerca le interfacce e crea l'istanza del componente.