次の方法で共有


ADSI で拡張機能を統合する方法

次のガイドラインでは、ADSI が拡張機能とどのように相互作用するかについて説明します。

  • 何かが ADSI ディレクトリ オブジェクトにバインドされます。 たとえば、"LDAP://CN=JeffSmith,OU=Sales,DC=Fabrikam,DC=COM" などです。
  • ADSI は、オブジェクトがユーザー クラスにあることを識別します。
  • ADSI は、レジストリで検索を実行し、ユーザーの拡張機能 CLSID を識別します。 ADSI はこのデータをキャッシュしていることに注意してください。
  • IID_IMyExtension の QueryInterface メソッドが呼び出されます。 ADSI は、ユーザー オブジェクトに関連するインターフェイスを独自のインターフェイスから検索し、次に拡張インターフェイスを検索します。
  • 一致するものが見つかった場合、ADSI は IID_IMyExtension をサポートするコンポーネントのインスタンスを作成し、拡張機能のの QueryInterface を呼び出します。 結果のインターフェイスが返されます。
  • ユーザーはこのインターフェイスを使用してインターフェイス メソッドを呼び出します。
  • 次に、クライアントは別のコンポーネントにある IID_IYourExtension の QueryInterface を呼び出します。 このコンポーネントは、この QueryInterface 呼び出しを ADSI 自体であるアグリゲーターの IUnknown インターフェイスに委任します。
  • 再び、ADSI はインターフェイスを検索し、コンポーネント インスタンスを作成します。