スキーマ インターフェイス
スキーマ コンテナーには、プロバイダーの名前空間ツリーの一部にアタッチされているスキーマ定義のセットが含まれています。 通常、名前空間の各インスタンスには独自のスキーマがあります。 たとえば、次の図では、ADSI サンプル プロバイダーは、ルート ノード "Seattle" と "Toronto" のそれぞれにスキーマ コンテナーを定義しています。
スキーマ包含
プロバイダーの ADSI 実装を作成するには、プロバイダーの基になる名前空間を反映し、ADSI スキーマ インターフェイスをサポートするスキーマ管理オブジェクトを指定する必要があります。 スキーマ コンテナーに含まれている ADSI スキーマ インターフェイスの一覧を次に示します。
- IADsClass はディレクトリ サービス クラスを表します。
- IADsProperty は、単一または複数の値を持つディレクトリ サービス プロパティを表します。
- IADsSyntax は単一の VARIANT 型を表します。
ADSI によって定義されたインターフェイスは、プロバイダーの特定のプロパティと構文をサポートできます。 プロバイダーは、プロパティを作成してアクセスするメソッドを使用して ADSI 定義を拡張できます。たとえば、Get、GetEx、Put、PutExなど、IAD インターフェイスメソッドを使用できます。 プロバイダーは、追加のインターフェイスを使用して追加のプロパティをサポートすることもできます。 ADSI インターフェイスの完全な一覧については、ADSI インターフェイスのを参照してください。
複雑な名前空間を持つ ADSI プロバイダー コンポーネントでは、複数のスキーマを 1 つの名前空間インスタンスに存在させ、それぞれがツリーの異なる部分に存在する場合があります。 ただし、オブジェクトの IADs::Schema プロパティには、常に独自のスキーマ定義の名前が付けられます。