IMoniker_Reduce

モニカーを最も単純な形式に簡約する。

IMoniker_Reduce this, pbc, dwReduceHowFar, ppmkToLeft, ppmkReduced

this : [comobj] IMoniker インターフェースの COM オブジェクト変数
pbc : [comobj] このバインド操作で使用するバインドコンテキストの IBindCtx インターフェースへのポインタ。バインドコンテキストは、バインド処理中にバインドされたオブジェクトをキャッシュし、バインドコンテキストを使用するすべての操作に適用されるパラメータを含み、モニカー実装がその環境について情報を取得するための手段を提供する。
dwReduceHowFar : [int] このモニカーをどこまで簡約するかを指定する。このパラメータは MKRREDUCE 列挙型の値のいずれかでなければならない。
ppmkToLeft : [comobj] 入力時、このモニカーの左側にあるモニカーへのインターフェースポインタを保持する IMoniker ポインタ変数へのポインタ。このパラメータは主にモニカー実装者が複合モニカーの各構成要素間の連携を可能にするために使用する。モニカークライアントは通常 NULL を渡せばよい。戻り時、*ppmkToLeft は通常 NULL に設定され、元の左側モニカーに変更がないことを示す。まれに、*ppmkToLeft がモニカーを示し、元の左側モニカーを破棄し、*ppmkToLeft から返されるモニカーが置き換えとなることを示す。このような状況では、実装はこのモニカーの左側にあった古いモニカーに対して Release を呼び出さなければならず、返される新しいモニカーに対して AddRef を呼び出さなければならない。呼び出し側は後でそれを解放しなければならない。エラーが発生した場合、実装はインターフェースポインタを変更しないままにするか、NULL に設定できる。
ppmkReduced : [comobj] このモニカーの簡約形へのインターフェースポインタを受け取る IMoniker ポインタ変数へのポインタ。エラー発生時やモニカーが何もない状態まで簡約された場合は NULL になり得る。このモニカーが簡約できない場合、*ppmkReduced は単にこのモニカーに設定され、戻り値は MK_S_REDUCED_TO_SELF となる。*ppmkReduced が非 NULL の場合、実装は新しいモニカーに対して AddRef を呼び出さなければならない。呼び出し側は Release を呼び出す責任がある。(これは *ppmkReduced がこのモニカー自体に設定されている場合でも同様である。)

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

解説

モニカーを最も単純な形式に簡約する。

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

[備考]
このメソッドは次の用途のために用意されている。
(以下省略)

情報

プラグイン / モジュール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