CreateAntiMoniker

新しいアンチモニカを作成して返す。

CreateAntiMoniker ppmk

ppmk : [var] 新しいアンチモニカへのインターフェイスポインタを受け取る IMoniker* ポインタ変数のアドレス。成功時、関数はアンチモニカに対して AddRef を呼び出しており、呼び出し側が Release を呼び出す責任を負う。エラー発生時、アンチモニカのポインタは NULL となる。

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

解説

新しいアンチモニカを作成して返す。

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

[備考]
この関数は、独自のモニカクラスを記述している場合(IMoniker
インターフェイスを実装している場合)にのみ呼び出す。内部構造を持たない新しいモニカクラスを記述している場合、IMoniker::Inverse
の実装内で CreateAntiMoniker を使用し、IMoniker::ComposeWith
の実装内でアンチモニカをチェックすることができる。パス内で直前のディレクトリ名の逆となる ".."
ディレクトリのように、アンチモニカは合成モニカ内で直前に置かれた単純モニカの逆として機能する。アンチモニカは、内部構造を持たない単純モニカの逆として使用される。たとえば、システム提供のファイルモニカ、アイテムモニカ、ポインタモニカの実装はすべて、逆としてアンチモニカを使用する。その結果、これらのモニカのいずれかの右に合成されたアンチモニカは何も残らないように合成される。モニカクライアント(モニカを使って別のオブジェクトにバインドしているオブジェクト)は、通常、特定のモニカのクラスを知らないため、アンチモニカが逆であるかどうかを確信できない。したがって、モニカの逆を取得するには、CreateAntiMoniker
ではなく IMoniker::Inverse を呼び出すこと。合成モニカの最後の部分を削除するには、以下を行う。
(以下省略)

情報

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