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