CreateAntiMoniker 関数 (objbase.h)
新しいアンチモニカーを作成して返します。
構文
HRESULT CreateAntiMoniker(
[out] LPMONIKER *ppmk
);
パラメーター
[out] ppmk
新しいアンチモニカーへのインターフェイス ポインターを受け取る IMoniker* ポインター変数のアドレス。 成功した場合、関数はアンチモニカーで AddRef を呼び出し、呼び出し元は Release を呼び出す役割を担います。 エラーが発生すると、アンチモニカー ポインターは NULL になります。
戻り値
この関数は、E_OUTOFMEMORYおよびS_OK標準の戻り値を返すことができます。
注釈
この関数を呼び出すのは、独自のモニカー クラス ( IMoniker インターフェイスを実装する) を記述している場合のみです。 内部構造を持たない新しいモニカー クラスを作成する場合は、IMoniker::Inverse メソッドの実装で CreateAntiMoniker を使用し、IMoniker::ComposeWith の実装でアンチモニカーのチェックできます。
".." ディレクトリと同様に、パス内で直前のディレクトリ名に対する逆として機能し、アンチモニカーは複合モニカーの前にある単純なモニカーの逆として機能します。 アンチモニカーは、内部構造を持たない単純なモニカーの逆として使用されます。 たとえば、ファイル モニカー、アイテム モニカー、ポインター モニカーのシステム提供の実装では、すべて反モニカーを逆として使用します。その結果、これらのモニカーの1つの右側に構成された反モニカーは何も構成しません。
モニカー クライアント (モニカーを使用して別のオブジェクトにバインドするオブジェクト) は、通常、特定のモニカーのクラスを認識しないため、クライアントは反モニカーが逆であることを確認できません。 したがって、モニカーの逆関数を取得するには、CreateAntiMoniker ではなく IMoniker::Inverse を呼び出します。
複合モニカーの最後の部分を削除するには、次の操作を行います。
- 最初のパラメーターとして FALSE を指定して、複合で IMoniker::Enum を呼び出します。 これにより、コンポーネント モニカーを逆の順序で返す列挙子が作成されます。
- 列挙子を使用して、複合の最後の部分を取得します。
- そのモニカーで IMoniker::Inverse を呼び出します。 逆関数によって返されるモニカーは、複合の最後の部分を削除します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | objbase.h |
Library | Ole32.lib |
[DLL] | Ole32.dll |
API セット | ext-ms-win-com-ole32-l1-1-5 (Windows 10 バージョン 10.0.15063 で導入) |