次の方法で共有


IOleObject::GetClientSite メソッド (oleidl.h)

埋め込みオブジェクトのクライアント サイトへのポインターを取得します。

構文

HRESULT GetClientSite(
  [out] IOleClientSite **ppClientSite
);

パラメーター

[out] ppClientSite

オブジェクトのクライアント サイトへのインターフェイス ポインターを受け取る IOleClientSite ポインター変数のアドレス。 オブジェクトがクライアント サイトをまだ認識していない場合、またはエラーが発生した場合は、 ppClientSiteNULL に設定する必要があります。 オブジェクトが IOleObject::GetClientSite の呼び出しを受信するたびに、 ppClientSite の参照カウントを増やす必要があります。 呼び出し元は、ppClientSite で完了したときに Release を呼び出す必要があります。

戻り値

このメソッドは、成功したS_OKを返します。

注釈

リンク クライアントは、最も一般的に IOleObject::GetClientSite メソッドを IOleClientSite::GetContainer メソッドと組み合わせて呼び出して、入れ子になったオブジェクトの階層を走査します。 リンク クライアントは IOleObject::GetClientSite を呼び出して、リンク ソースのクライアント サイトへのポインターを取得します。 次に、クライアントは IOleClientSite::GetContainer を呼び出して、リンク ソースのコンテナーへのポインターを取得します。 最後に、クライアントは QueryInterface を 呼び出して IOleObjectIOleObject::GetClientSite を取得し、コンテナー内のコンテナーのクライアント サイトを取得します。 この一連の呼び出しを繰り返すことで、呼び出し元は最終的に、他のすべてのオブジェクトが入れ子になっているマスター コンテナーへのポインターを取得できます。

呼び出し元へのメモ

埋め込みオブジェクトがそのクライアント サイトについてまだ通知されていない場合、返されるクライアント サイト ポインターは NULL になります。 これは、コンテナーがオブジェクト作成ヘルパー関数の 1 つに NULL クライアント サイト ポインターを渡したが、オブジェクトの初期化の一環として IOleObject::SetClientSite をまだ呼び出していない場合に、新しく読み込まれたオブジェクトまたは作成されたオブジェクトの場合です。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー oleidl.h

こちらもご覧ください

IOleObject

IOleObject::SetClientSite