ADSI-Komponenteninteraktion

Die Active Directory-Routerkomponente füllt eine ADSI-Anbietertabelle aus den installierten ADSI-Anbietern auf, die in der Registrierung aufgeführt sind, wenn sie die erste Anforderung von der Clientanwendung empfängt. Weitere Informationen zur Registrierung finden Sie unter Installieren der Beispielanbieterkomponente.

Vorgänge, die eine Anforderung aus einem Verzeichnis für einen Zeiger auf eine Schnittstelle in einem Active Directory-Objekt stellen, erfolgen über eine Funktion (GetObject in Visual Basic oder ADsOpenObject oder ADsGetObject in C oder C++) oder über eine Schnittstellenmethode ( IADsContainer::GetObject). In der folgenden Abbildung übergibt die ADSI-Clientanwendung eine solche Bindungsanforderung an die ADSI-Routerkomponente (1). Die Routerkomponente identifiziert die ProgID für den Anbieter aus dem ersten Teil des ADsPath und verwendet CLSIDFromProgID , um die übereinstimmende CLSID in der Registrierung (2) zu finden und lädt die richtige Anbieterkomponente (3).

Adsi-Komponenteninteraktionen im Beispielanbieter

In der obigen Abbildung erstellt die Anbieterkomponente ein Active Directory-Objekt, das das benannte Verzeichniselement darstellt. Die ADSI-Unterstützungskomponente führt eine QueryInterface für den angeforderten Schnittstellenbezeichner aus. Wenn ein Zeiger auf diese Schnittstelle abgerufen wird (4), wie bei allen COM-Client-/Serverimplementierungen, wird er dann zurück an den Client (5) übergeben, und ab dann arbeitet die Clientanwendung direkt mit der Anbieterkomponente (6).