アンチモニカー
OLE は、アンチモニカーと呼ばれる特殊な種類のモニカーの実装を提供します。 このモニカーは、新しいモニカー クラスの作成に使用します。 これを、構成先のモニカーの逆として使用し、".." 演算子がファイル システム コマンドでディレクトリ レベルを上げるのとほぼ同じ方法で、そのモニカーを実質的に取り消します。
複合モニカーが作成されると、オブジェクトが移動した場合にモニカーの一部を削除できないため、アンチモニカーを使用できるようにする必要があります。 代わりに、アンチモニカーを使用して、複合モニカーから 1 つ以上のエントリを削除します。
アンチモニカーは、インバースとして明示的に使用することを目的としたモニカー クラスです。 COM は、名前付き CreateAntiMoniker 関数を定義します。この関数は、アンチモニカーを返します。 通常、この関数を使用して、IMoniker::Inverse メソッドを実装します。
アンチモニカーは、アンチモニカーを逆として扱うために実装されているモニカーの種類に対してのみ逆です。 たとえば、複合モニカーの最後の部分を削除する場合は、アンチモニカーを作成して複合の末尾まで作成しないでください。 複合の最後の部分が反モニカーを逆と見なしていることを確認することはできません。 代わりに、複合モニカー IMoniker::Enum を呼び出し、最初のパラメーターとして FALSE 指定する必要があります。 これにより、コンポーネント モニカーを逆の順序で返す列挙子が作成されます。 列挙子を使用して複合の最後の部分を取得し、そのモニカー 逆 を呼び出します。 逆 によって返されるモニカーは、複合の最後の部分を削除するために必要です。
関連トピック