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 |