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

コンテナーのモニカー、コンテナーに対するオブジェクト独自のモニカー、またはオブジェクトの完全モニカーをオブジェクトに通知します。

構文

HRESULT SetMoniker(
  [in] DWORD    dwWhichMoniker,
  [in] IMoniker *pmk
);

パラメーター

[in] dwWhichMoniker

モニカーは pmk で渡されます。 指定できる値は、 列挙 OLEWHICHMK から取得できます

[in] pmk

モニカーを返す場所へのポインター。

戻り値

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

リターン コード 説明
E_FAIL
操作が失敗しました。

注釈

埋め込みオブジェクトへのリンクをサポートするコンテナーは、モニカーが変更されたときに埋め込みオブジェクトに通知できる必要があります。 それ以外の場合、オブジェクトにバインドするリンク クライアントによる後続の試行は失敗します。 IOleObject::SetMoniker メソッドは、コンテナーがこの情報を通信するための 1 つの方法を提供します。

コンテナーは、独自のモニカー、コンテナーに対する相対的なオブジェクトのモニカー、またはオブジェクトの完全モニカーのいずれかを渡すことができます。 実際には、コンテナーがオブジェクトの完全なモニカー以外のものを渡す場合、各オブジェクトはコンテナーを呼び出して、実行中のオブジェクト テーブルに自身を登録する必要がある完全モニカーの割り当てを要求します。

コンテナーに対するオブジェクトのモニカーは、オブジェクトの永続的な状態の一部としてオブジェクト ハンドラーによって格納されます。 ただし、オブジェクトのコンテナーのモニカーは、コンテナーの名前をいつでも変更できるため、オブジェクト内に永続的に格納することはできません。

呼び出し元へのメモ

コンテナーは、コンテナーの名前が変更されたときに IOleObject::SetMoniker を呼び出し、コンテナーの埋め込みオブジェクトは現在、またはリンク ソースとして機能する可能性があります。 埋め込みオブジェクトはモニカーを既に認識しているため、コンテナーは主にリンクのコンテキストで SetMoniker を呼び出します。 リンクのコンテキストでも、オブジェクトは IOleClientSite::GetMoniker を呼び出して新しいモニカーを強制的に割り当てることができるため、このメソッドの呼び出しは省略可能です。

実装者へのメモ

IOleObject::SetMoniker の呼び出しを受け取ると、オブジェクトは実行中のオブジェクト テーブルにその完全なモニカーを登録し、そのオブジェクトに存在するすべてのアドバイス シンクに IAdviseSink::OnRename 通知を送信する必要があります。

要件

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

こちらもご覧ください

CreateItemMoniker

IAdviseSink::OnRename

IOleClientSite::GetMoniker

IOleObject

IOleObject::GetMoniker