IMoniker::IsEqual メソッド (objidl.h)

このモニカーが指定したモニカーと同じかどうかを判断します。

構文

HRESULT IsEqual(
  [in] IMoniker *pmkOtherMoniker
);

パラメーター

[in] pmkOtherMoniker

このモニカー (このメソッドが呼び出される) との比較に使用するモニカー上の IMoniker インターフェイスへのポインター。

戻り値

このメソッドは、2 つのモニカーが同一であることを示すS_OKを返し、それ以外の場合S_FALSE返します。

注釈

このメソッドと呼ばれる、実行中のオブジェクト テーブル (ROT) の以前の実装。 ROT の現在の実装では、代わりに IROTData インターフェイスが使用されます。

呼び出し元へのメモ

2 つのモニカーが同一かどうかを判断するには、このメソッドを呼び出します。 モニカーの減少形は、未誘導の形態とは異なると考えられます。 縮小モニカーは最も具体的な形式であるため、IsEqual を呼び出す前に IMoniker::Reduce メソッドを呼び出す必要があります。 IsEqual は、減らす前に 2 つのモニカーに対してS_FALSEを返し、減らした後にS_OK可能性があります。

実装者へのメモ

実装では、比較を実行する前に、現在のモニカーを減らさないでください。 IMoniker::Reduce を呼び出して、削減されたモニカーを比較するのは呼び出し元の責任です。

等しいと比較する 2 つのモニカーは、 IMoniker::Hash を使用して同じ値にハッシュする必要があります。

実装固有の注意事項

実装 メモ
アンチモニカー 両方がアンチモニカーの場合、このメソッドはS_OKを返します。それ以外の場合は、S_FALSEを返します。
クラス モニカー pmkOther がそれ自体と同じ CLSID 情報で構築されたクラス モニカーである場合、このメソッドはS_OKを返します。 それ以外の場合、メソッドは S_FALSEを返します。 pmkOther が無効なポインターである場合は、E_INVALIDARGを返す場合があります。
ファイル モニカー このメソッドは、*pmkOther がファイル モニカーであり、両方のモニカーのパスが同じ (大文字と小文字を区別しない比較を使用) 場合、S_OKを返します。 それ以外の場合、メソッドは S_FALSEを返します。
汎用複合モニカー このメソッドは、左から右の順序で比較したときに、両方のモニカーのコンポーネントが等しい場合にS_OKを返します。
アイテム モニカー このメソッドは、両方のモニカーがアイテム モニカーであり、表示名が同一の場合 (大文字と小文字を区別しない比較を使用)、S_OKを返します。それ以外の場合、メソッドは S_FALSEを返します。
OBJREF モニカー このメソッドは、*pmkOther が OBJREF モニカーであり、両方のモニカーのパスが同じ (大文字と小文字を区別しない比較を使用) 場合、S_OKを返します。 それ以外の場合、メソッドは S_FALSEを返します。
ポインター モニカー このメソッドは、両方がポインター モニカーであり、それらがラップするインターフェイス ポインターが同じ場合にのみ、S_OKを返します。
URL モニカー 他のモニカー (pmkOtherMoniker) が URL モニカーでない場合は、S_FALSEを返します。このモニカーは、 IPersist::GetClassID を使用して CLSID がCLSID_URLMonikerされているかどうかを確認します。 もう 1 つのモニカーが URL モニカーの場合は、モニカーの表示名を等しいかどうか比較し、同一の場合はS_OKを返し、それ以外の場合はS_FALSE返します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー objidl.h

こちらもご覧ください

Imoniker

IROTData