アンチモニカー

OLEには、アンチモニカーと呼ばれる特殊な種類のモニカーの実装が用意されています。 このモニカーは、新しいモニカークラスの作成に使用します。 これは、構成されているモニカーの逆として使用し、そのモニカーを効果的にキャンセルします。これは、".."。演算子がファイルシステムコマンドでディレクトリレベルを上に移動するのとほぼ同じ方法です。

複合モニカーが作成されると、たとえばオブジェクトが移動した場合にモニカーの一部を削除できなくなるため、アンチモニカーを使用できるようにする必要があります。 代わりに、アンチモニカーを使用して、複合モニカーから1つ以上のエントリを削除します。

アンチモニカーは、逆モニカーとして明示的に使用することを目的としたモニカークラスです。 COMは、アンチモニカーを返す名前付きCreateAntiMoniker関数を定義します。 通常、この関数を使用してIMoniker::Inverseメソッドを実装します。

アンチモニカーは、アンチモニカーを逆として扱うように実装されているモニカーの種類の逆にすぎません。 たとえば、複合モニカーの最後の部分を削除する場合は、アンチモニカーを作成して複合の最後に合成しないでください。 複合の最後の部分でアンチモニカーが逆になることを確認することはできません。 代わりに、最初のパラメーターとしてFALSEを指定して、複合モニカーでIMoniker::Enumを呼び出す必要があります。 これにより、コンポーネントモニカーを逆の順序で返す列挙子が作成されます。 列挙子を使用して複合の最後の部分を取得し、そのモニカーでInverseを呼び出します。 Inverseによって返されるモニカーは、複合の最後の部分を削除するために必要なものです。

クラスモニカー

複合モニカー

ファイルモニカー

項目モニカー

ポインターモニカー