CreateItemMoniker

親となるオブジェクト(通常は複合ドキュメント)内のオブジェクトを識別するアイテムモニカを作成する。

CreateItemMoniker lpszDelim, lpszItem, ppmk

lpszDelim : [wstr] このアイテムの表示名を、それを含むオブジェクトの表示名から区切るために使用する区切り文字(通常は "!")を含む、ゼロ終端のワイド文字列(1 文字につき 2 バイト)へのポインタ。
lpszItem : [wstr] 識別対象のオブジェクトに対する、それを含むオブジェクトでの名前を示すゼロ終端文字列へのポインタ。この名前は後で IOleItemContainer::GetObject の呼び出しにおいてオブジェクトへのポインタを取得するために使用される。
ppmk : [var] アイテムモニカへのインターフェイスポインタを受け取る IMoniker* ポインタ変数のアドレス。成功時、関数はアイテムモニカに対して AddRef を呼び出しており、呼び出し側が Release を呼び出す責任を負う。エラーが発生した場合、返されるインターフェイスポインタの値は NULL となる。

(プラグイン / モジュール : ole32.dll)

解説

親となるオブジェクト(通常は複合ドキュメント)内のオブジェクトを識別するアイテムモニカを作成する。

[戻り値]
この関数は標準の戻り値 E_OUTOFMEMORY および S_OK を返すことがある。

[備考]

モニカプロバイダ(他者からアクセスできるよう、自身のオブジェクトを識別するモニカを配布するオブジェクト)は、自身のオブジェクトをアイテムモニカで識別するために
CreateItemMoniker
を呼び出す。アイテムモニカは文字列に基づき、別のオブジェクト内に含まれるオブジェクトで、文字列によって個別に識別可能なものを識別する。親となるオブジェクトは
IOleContainer インターフェイスも実装していなければならない。ほとんどのモニカプロバイダは、リンクをサポートする OLE
アプリケーションである。ドキュメント内の選択範囲へのリンクを許可するサーバーアプリケーションのように、ファイルベースのドキュメントより小さい単位のオブジェクトへのリンクをサポートするアプリケーションは、それらのオブジェクトを識別するためにアイテムモニカを使用すべきである。埋め込みオブジェクトへのリンクを許可するコンテナアプリケーションは、埋め込みオブジェクトを識別するためにアイテムモニカを使用する。
lpszItem
パラメータは、ドキュメントがそのオブジェクトを一意に識別するために使用する名前である。たとえば、識別対象のオブジェクトがスプレッドシート内のセル範囲である場合、適切な名前は
"A1:E7" のようなものとなる。埋め込みオブジェクトの場合は "embedobj1"
のようなものが適切である。親オブジェクトは、この名前を解釈して対応するオブジェクトを見つけることができる
IOleItemContainer
インターフェイスの実装を提供する必要がある。これにより、アイテムモニカを、それが識別するオブジェクトにバインドすることができる。アイテムモニカは単独では使用されない。それを含むオブジェクトを識別するモニカと合成しなければならない。たとえば、識別対象のオブジェクトがファイルベースのドキュメントに含まれるセル範囲である場合、そのオブジェクトを識別するアイテムモニカは、そのドキュメントを識別するファイルモニカと合成する必要があり、結果は
"C:\work\sales.xls!A1:E7"
に相当する合成モニカとなる。別のドキュメント内の埋め込みオブジェクトにさらに別のオブジェクトが含まれている場合のように、入れ子のコンテナも許される。そのようなオブジェクトの完全なモニカは
"C:\work\report.doc!embedobj1!A1:E7" に相当するものとなる。この場合、親となる各オブジェクトが
CreateItemMoniker を呼び出し、それぞれが独自の IOleItemContainer
インターフェイスの実装を提供しなければならない。

情報

プラグイン / モジュールole32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の ole32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_ole32_gen2.hs