次の方法で共有


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 を呼び出します。

複合モニカーの最後の部分を削除するには、次の操作を行います。

  1. 最初のパラメーターとして FALSE を指定して、複合で IMoniker::Enum を呼び出します。 これにより、コンポーネント モニカーを逆の順序で返す列挙子が作成されます。
  2. 列挙子を使用して、複合の最後の部分を取得します。
  3. そのモニカーで 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 で導入)

こちらもご覧ください

Imoniker