IMoniker_CommonPrefixWith

このモニカーが指定したモニカーと共有する接頭部に基づいて、新しいモニカーを作成する。

IMoniker_CommonPrefixWith this, pmkOther, ppmkPrefix

this : [comobj] IMoniker インターフェースの COM オブジェクト変数
pmkOther : [comobj] このモニカーと比較して共通の接頭部があるかを判定するための、別のモニカーの IMoniker インターフェースへのポインタ。
ppmkPrefix : [comobj] このモニカーと pmkOther の共通接頭部となるモニカーへのインターフェースポインタを受け取る IMoniker* ポインタ変数のアドレス。成功時、実装は結果のモニカーに対して AddRef を呼び出さなければならない。呼び出し側は Release を呼び出す責任がある。エラーが発生した場合、または共通接頭部が存在しない場合は、実装は *ppmkPrefix を NULL に設定すべきである。

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

解説

このモニカーが指定したモニカーと共有する接頭部に基づいて、新しいモニカーを作成する。

[戻り値]
このメソッドは、標準の戻り値 E_OUTOFMEMORY のほか、以下の値を返す場合がある。
(以下省略)

[備考]
CommonPrefixWith
は、このモニカーオブジェクトのモニカーと別のモニカーの共通接頭部からなる新しいモニカーを作成する。例えば、一方のモニカーがパス
"c:\projects\secret\art\pict1.bmp" を表し、他方が
"c:\projects\secret\docs\chap1.txt" を表す場合、これら 2 つのモニカーの共通接頭部は
"c:\projects\secret" を表すモニカーとなる。呼び出し側への注意: CommonPrefixWith メソッドは主に
IMoniker::RelativePathTo
メソッドの実装で呼び出される。モニカーを使用してオブジェクトを特定するクライアントがこのメソッドを呼び出す必要はほとんどない。
このメソッドは、pmkOther
とこのモニカーの両方が絶対モニカーである場合にのみ呼び出すこと。絶対モニカーとは、ファイルモニカー、または最左コンポーネントが絶対パスを表すファイルモニカーである汎用複合モニカーのことである。相対モニカーに対しては意味のある結果が得られないため、本メソッドを呼び出してはならない。実装者への注意:
実装はまず、pmkOther が自分が認識しており特別な処理を提供できるクラス (例えばこのモニカーと同じクラスの場合)
のモニカーかどうかを判定すべきである。そうであれば、2 つのモニカーの共通接頭部を判定すべきである。そうでなければ、両方のモニカーを
MonikerCommonPrefixWith 関数に渡すべきであり、これは汎用ケースを正しく処理する。
実装固有の注意:
(以下省略)

情報

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