次の方法で共有


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

コンテナー内の "クライアント サイト" と呼ばれる表示場所を埋め込みオブジェクトに通知します。

構文

HRESULT SetClientSite(
  [in] IOleClientSite *pClientSite
);

パラメーター

[in] pClientSite

コンテナー アプリケーションのクライアント サイト上の IOleClientSite インターフェイスへのポインター。

戻り値

このメソッドは、成功したS_OKを返します。 その他の可能な戻り値は次のとおりです。

リターン コード 説明
E_UNEXPECTED
予期しないエラーが発生しました。

注釈

複合ドキュメント内では、各埋め込みオブジェクトに独自のクライアント サイト (表示される場所、ストレージ、ユーザー インターフェイス、およびその他のリソースに関する情報を受け取る場所) があります。 IOleObject::SetClientSite は、埋め込みオブジェクトがクライアント サイトへのポインターを取得できるようにする唯一のメソッドです。

呼び出し元へのメモ

コンテナーは、オブジェクトの作成時またはオブジェクトの初期化時に、そのクライアント サイトのオブジェクトに通知できます。

オブジェクトを作成または読み込むときに、コンテナーはクライアント サイト ポインターを (他の引数と共に) OleCreateOleCreateFromFileOleCreateFromDataまたは OleLoad のいずれかのヘルパー関数に渡すことができます。 これらのヘルパー関数は、新しいオブジェクトのオブジェクト ハンドラーを読み込み、新しいオブジェクトへのポインターを返す前に、コンテナーの代わりに IOleObject::SetClientSite を呼び出します。

クライアント サイト ポインターを渡すと、クライアント サイトが要求を処理する準備ができていることをオブジェクト ハンドラーに通知します。 ハンドラーが読み込まれた直後にクライアント サイトの準備が整う可能性が低い場合は、コンテナーで NULL クライアント サイト ポインターをヘルパー関数に渡すことができます。 NULL ポインターは、使用可能なクライアント サイトがないことを示し、オブジェクトが初期化されるまでクライアント サイトのオブジェクト ハンドラーへの通知を延期します。 応答として、ヘルパー関数は オブジェクトへのポインターを返しますが、そのポインターを受信すると、コンテナーは新しいオブジェクトの初期化の一環として IOleObject::SetClientSite を呼び出す必要があります。

実装者へのメモ

実装は、単に参照カウントをインクリメントし、クライアント サイトへのポインターを格納することで構成されます。

要件

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

こちらもご覧ください

IOleClientSite

IOleObject

IOleObject::GetClientSite

OleCreate

OleCreateFromData

OleCreateFromFile

OleLoad