ADSI 元件互動

Active Directory 路由器元件會在從用戶端應用程式收到第一個要求時,從登錄中所列的已安裝 ADSI 提供者填入 ADSI 提供者數據表。 如需登錄的詳細資訊,請參閱 安裝範例提供者元件

對 Active Directory 物件上介面指標提出要求之目錄的作業會透過函式(Visual Basic 中的 GetObjectC 或 C++ 中的 ADsOpenObject 或 ADsGetObject),或介面方法 (IADsContainer::GetObject)。 在下圖中,ADSI 用戶端應用程式會將這類系結要求傳遞至ADSI路由器元件 (1)。 路由器元件會從 ADsPath 的第一個部分識別提供者的 ProgID,並使用 CLSIDFromProgID 在登錄中尋找相符的 CLSID (2),並載入適當的提供者元件 (3)。

adsi component interactions in the example provider

在上圖中,提供者元件會建立代表具名目錄元素的 Active Directory 物件。 ADSI 支援元件在要求的介面標識符上執行 QueryInterface 。 當擷取該介面的指標時(4),如同所有 COM 用戶端/伺服器實作一樣,接著它會傳回至用戶端 (5),然後用戶端應用程式會直接使用提供者元件 (6)。