Cómo adsi integra extensiones

Las instrucciones siguientes describen cómo INTERACTÚA ADSI con las extensiones:

  • Algo enlaza a un objeto de directorio ADSI. Por ejemplo, "LDAP://CN=JeffSmith,OU=Sales,DC=Fabrikam,DC=COM".
  • ADSI identifica que el objeto está en la clase de usuario .
  • ADSI realiza una búsqueda en el Registro e identifica los CLSID de extensión para el usuario. Tenga en cuenta que ADSI almacena en caché estos datos.
  • Algo llama al método QueryInterface para IID_IMyExtension. ADSI busca en las interfaces asociadas al objeto de usuario , empezando por sus propias interfaces y examinando las interfaces de extensión.
  • Si se encuentra una coincidencia, ADSI crea una instancia del componente que admite IID_IMyExtension y llama a QueryInterface para la extensión. Se devuelve la interfaz resultante.
  • El usuario usa esta interfaz para llamar a los métodos de interfaz.
  • A continuación, el cliente llama a QueryInterface para IID_IYourExtension, que se encuentra en un componente diferente. Este componente delega esta llamada QueryInterface a la interfaz IUnknown del agregador, que se produce como ADSI en sí.
  • De nuevo, ADSI busca las interfaces y crea la instancia del componente.