Active Directory サービス インターフェイス オブジェクト
ADSI オブジェクト モデルは、COM オブジェクトで構成されます。 クライアントは、インターフェイスを使用してオブジェクトを操作します。 ADSI プロバイダーは、オブジェクトとそのインターフェイスを実装します。
ADSI オブジェクトは、ディレクトリ サービス内の項目 (コンピューター、ユーザー、ファイル、サーバー、プリンター、印刷キューなど) を表す COM オブジェクトであり、ネットワーク管理者が毎日操作する要素です。 ADSI は、さまざまな種類の要素を表す異なる種類のオブジェクトを定義します。 次の図に示すように、各オブジェクトは、オブジェクト データ (多くの場合、メタデータと呼ばれます) へのアクセスを有効にする 1 つ以上の COM インターフェイスをサポートしています。
COM インターフェイスは、プロパティとメソッドの論理的に接続されたセットであるため、各インターフェイスは、一度に 1 つの論理関数のセットにのみアクセスできるオブジェクトのハンドルと考えることができます。 次の表に、ADSI の基本的な要素を示します。
Interface | 説明 |
---|---|
IADs | オブジェクトの識別に使用されます。 すべての ADSI オブジェクトに必要な基本インターフェイスとして、IADs は ADSI スキーマ内の定義を含むオブジェクト メタデータへのアクセスを提供します。 IAD は、プロパティ キャッシュ内のオブジェクト データを管理するプロパティとメソッドへのアクセスも提供します。 |
IADsContainer | オブジェクトの管理と検出に使用されます。 すべての ADSI コンテナ オブジェクトは、オブジェクトの作成、削除、コピーと移動、バインディング、列挙を管理するために IADsContainer インターフェイスを必要とします。 |
IADsPropertyList | オブジェクト プロパティの管理に使用されます。 IADsPropertyList インターフェイスは、プロパティ キャッシュ内のオブジェクト データの管理を最適化します。 |
IDirectoryObject | 直接オブジェクト アクセスに使用されます。 IDirectoryObject インターフェイスは、オートメーションを使用しないクライアントに低レベルのオブジェクト アクセスを提供します。 このインターフェイスは、オブジェクト プロパティ キャッシュをバイパスし、オブジェクト プロパティに直接アクセスします。 詳しくは、「IADs と IDirectoryObject インターフェイス」を参照してください。 |
IUnknown | COM オブジェクト管理に使用されます。 IUnknown インターフェイスは、すべての COM オブジェクトに必要です。 |
IDispatch | タイプ ライブラリのデータとメソッドの呼び出しに使用されます。 IDispatch インターフェイスは、すべてのオートメーション オブジェクトに必要です。 |
より複雑な ADSI オブジェクトでは、追加のインターフェイスが公開される場合があります。 たとえば、IADsCollection では、同じデータ型のディレクトリ要素のコレクションを管理するメソッドがサポートされています。 IADsGroup メソッドは、IADsMembers インターフェイスをサポートするオブジェクトの特別なケースのコレクションを管理します。 これをサポートするプロバイダーの場合、IDirectorySearch インターフェイスはディレクトリ サービスに対してクエリを実行するメソッドをサポートします。 さらに、ADSI には、既知の論理項目と物理項目を表すインターフェイスが用意されています。 たとえば、ユーザーを表す ADSI オブジェクトは IADsUser をサポートし、コンピューターを表すオブジェクトは IADsComputer をサポートします。 ADSI オブジェクトについて詳しくは、「IADs と IDirectoryObject インターフェイス」を参照してください。 すべてのプロバイダーが、すべてのインターフェイス、またはすべてのインターフェイスのすべてのメソッドとプロパティを実装しているわけではありません。 詳細については、ADSI リファレンスに関するページを参照してください。