核心實作

ADSI 提供者支援下列功能:

  • COM 和 URL 格式的 ADsPath 字串。 根據定義,您可以使用 ADsPath 擷取 Active Directory 物件。 提供者支援其目錄服務使用 ParseDisplayName 實作所需的語法。
  • 支援 IParseDisplayName::P arseDisplayName IADsOpenDSObject 的最上層 Namespace 物件。 這個物件包含這個命名空間的根節點。 ParseDisplayName 實作的一部分必須包含剖析器,以檢查其本身命名空間的語法錯誤。 此物件也必須支援 IADsIADsOpenDSObject
  • IADs 介面。 這包括透過 IADs::GetInfo 和 IADs::SetInfo 的簡單屬性快取實作。 取得或設定物件屬性的作業會在快取模式中發生。 快取值會在 IADs::SetInfo 期間寫入基礎目錄存放區。 不過,不會快取 ADSI 方法,但會立即執行。
  • IADsPropertyListIADsPropertyEntryIADsPropertyValue 介面,可直接存取和列舉屬性快取中的屬性。 對於未公開架構的目錄服務,這個介面可讓您操作對象的屬性。
  • 非自動化用戶端的 IDirectoryObject 介面。 這會使用無線通訊協定來達到最大效能,並略過屬性快取。
  • IADsContainer 介面。 每個 Active Directory 物件都有可控制其存留期的父容器。 請注意,對於 ADs 容器物件, IADs::GetInfo 只會影響容器屬性,而不會影響其內容。 ADs 容器物件的 SetInfo 只會影響容器屬性,而且不會影響容器內已存在的新建立物件或物件。
  • IDispatch 介面。 這是 Visual Basic Scripting Edition 這類語言的自動化介面,不會使用編譯時間系結。 與此相關的是提供者必須提供的類型連結庫數據。 如需詳細資訊,請參閱 ADSI提供者的實作問題。
  • 架構類別容器物件,以及分別支援 IADsSyntax、IADsProperty 和 IADsClass 的適當語法、屬性和架構類別物件。 每個根節點至少必須包含自己的架構類別容器物件。
  • 如果有任何支持的屬性是 ADSI 物件的集合,則為 IADsMembers 介面,例如安全組。
  • 如果任何支持的屬性是與 IADsCollection::Add IADsCollection::Remove 功能相同的目錄項目類型集合,則為 IADsCollection 介面。
  • IEnumXXXX 列舉支援所有特定的列舉值物件。
  • 用來對應語法並將原生數據轉換成 VARIANT 數據類型的例程。
  • 遵循提供者提供的 ADSI 物件的 ADSI 慣例。 包含說明檔案和類型連結庫,記錄介面屬性和方法。

如同任何 COM 實作,對 QueryInterface呼叫必須針對未實作的介面傳回E_NOINTERFACE否則會針對未實作之介面的未實作方法傳回E_NOTIMPL,並針對未實作的屬性傳回E_ADS_PROPERTY_NOT_SUPPORTED。 如需雙重介面及其影響屬性實作方式的詳細資訊,請參閱 雙重介面