Share via


スキーマインタフェース

スキーマコンテナには、プロバイダの名前空間ツリーの一部にアタッチされるスキーマ定義のセットが含まれています。 通常、名前空間の各インスタンスには独自のスキーマがあります。 たとえば、次の図では、ADSIサンプルプロバイダが"Seattle"と"Toronto"の各ルートノードにスキーマコンテナを定義しています。

schema containment

プロバイダのADSI実装を作成するには、プロバイダの基になる名前空間を反映し、ADSIスキーマインターフェイスをサポートするスキーマ管理オブジェクトを指定する必要があります。 スキーマコンテナに含まれるADSIスキーマインターフェイスの一覧を次に示します。

  • IADsClassはディレクトリサービスクラスを表します。
  • IADsPropertyは、1つまたは複数の値を持つディレクトリサービスプロパティを表します。
  • IADsSyntaxは、1つのVARIANT型を表します。

ADSIによって定義されたインターフェイスは、プロバイダーの特定のプロパティと構文をサポートできます。 プロバイダーは、プロパティを作成およびアクセスするメソッドを使用してADSI定義を拡張できます。たとえば、GetGetExPutPutExなどのIADsインターフェイスのメソッドを使用できます。 プロバイダーは、追加のインターフェイスを使用して追加のプロパティをサポートすることもできます。 ADSIインターフェイスの完全な一覧については、 「ADSIインターフェイス」 を参照してください。

複雑な名前空間を持つADSIプロバイダーコンポーネントでは、複数のスキーマが名前空間インスタンスに存在し、それぞれがツリーの異なる部分に存在することができます。 ただし、オブジェクトのIADs :: Schemaプロパティは、常に独自のスキーマ定義に名前を付けます。