IServiceProvider インターフェイス (servprov.h)
GUID で識別されたサービスを検索するための汎用アクセス メカニズムを提供します。
継承
IServiceProvider インターフェイスは、IUnknown インターフェイスから継承されます。
メソッド
IServiceProvider インターフェイスには、これらのメソッドがあります。
IServiceProvider::QueryService IServiceProvider の実装によって公開されるすべてのサービスのファクトリ メソッドとして機能します。 |
IServiceProvider::QueryService IServiceProvider の実装によって公開されるすべてのサービスのファクトリ メソッドとして機能します。 CLSID パラメーターを受け入れます。 |
注釈
IServiceProvider インターフェイスは、コントロールまたはサービスが通信できる他のオブジェクトを介して提供される GUID で識別されたサービスを検索するための汎用アクセス メカニズムです。 たとえば、埋め込みオブジェクト (OLE コントロールなど) は、通常、IOleObject::SetClientSite を使用して提供される IOleClientSite インターフェイスを介して、コンテナー内の関連付けられたクライアント サイト オブジェクトとのみ通信します。 埋め込みオブジェクトは、そのサービスがクライアント サイトに実装されていない可能性がある場合に、コンテナーがサポートする他のサービスをクライアント サイトに要求する必要があります。
クライアント サイトは、サイトが管理するコントロールが必要に応じてサービスにアクセスできるようにする手段を提供する必要があります。 たとえば、 IOleInPlaceSite::GetWindowContext) 関数をインプレース オブジェクトまたはコントロールで使用して、サイトを含むドキュメント オブジェクトとドキュメントを含むフレーム オブジェクトのインターフェイス ポインターにアクセスできます。 これらのインターフェイス ポインターは個別のオブジェクトに存在するため、コントロールはサイトの QueryInterface を 呼び出してこれらのポインターを取得できません。 代わりに、IServiceProvider インターフェイスを使用します。
IServiceProvider インターフェイスでは、単一のメソッド QueryService をオーバーロードする必要があります。このメソッドを使用して、呼び出し元はサービス ID (SID、GUID)、返されるインターフェイスの IID、および呼び出し元のインターフェイス ポインター変数のアドレスを指定します。 2 番目のオーバーロードは、 メソッドに渡された出力ポインターから IID を推論します。
このインターフェイスの IID はIID_IServiceProvider。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows ビルド 22000 |
サポートされている最小のサーバー | Windows ビルド 22000 |
Header | servprov.h |