Share via


IMFMediaType::IsEqual メソッド (mfobjects.h)

2 つのメディアの種類を比較し、それらが同じかどうかを判断します。 それらが同一でない場合、メソッドは 2 つの形式がどのように異なるかを示します。

構文

HRESULT IsEqual(
  [in]  IMFMediaType *pIMediaType,
  [out] DWORD        *pdwFlags
);

パラメーター

[in] pIMediaType

比較するメディアの種類の IMFMediaType インターフェイスへのポインター。

[out] pdwFlags

0 個以上のフラグのビットごとの OR を受け取り、2 つのメディアの種類間の類似性を示します。 次のフラグが定義されています。

意味
MF_MEDIATYPE_EQUAL_MAJOR_TYPES
0x00000001
主な型は同じです。 メジャー型は 、MF_MT_MAJOR_TYPE 属性によって指定されます。
MF_MEDIATYPE_EQUAL_FORMAT_TYPES
0x00000002
サブタイプが同じであるか、どちらのメディアタイプにもサブタイプが含まれていません。 サブタイプは 、MF_MT_SUBTYPE 属性によって指定されます。
MF_MEDIATYPE_EQUAL_FORMAT_DATA
0x00000004
いずれかのメディアタイプの属性は他方の属性のサブセットであり、これらの属性の値は一致し、 MF_MT_USER_DATAMF_MT_FRAME_RATE_RANGE_MINおよびMF_MT_FRAME_RATE_RANGE_MAX 属性の値は除きます。

具体的には、 メソッドは、属性の数が少ないメディアの種類を受け取り、その種類の各属性が他のメディアの種類に存在し、同じ値 ( MF_MT_USER_DATAMF_MT_FRAME_RATE_RANGE_MINMF_MT_FRAME_RATE_RANGE_MAXを含まない) を持っているかどうかを確認します。

他の比較を実行するには、 IMFAttributes::Compare メソッドを 使用します。 たとえば、 Compare メソッドは、同じ属性をテストしたり、2 つの属性セットの交差部分をテストしたりできます。 詳細については、「 MF_ATTRIBUTES_MATCH_TYPE」を参照してください。

MF_MEDIATYPE_EQUAL_FORMAT_USER_DATA
0x00000008
ユーザー データが同一であるか、メディアの種類にユーザー データが含まれていません。 ユーザー データは 、MF_MT_USER_DATA 属性によって指定されます。

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_FALSE
型が等しくありません。 pdwFlags パラメーターを調べて、型がどのように異なるかを判断します。
S_OK
型は等しいです。
E_INVALIDARG
一方または両方のメディアの種類が無効です。

注釈

どちらのメディア型もメジャー型である必要があります。または、 メソッドは E_INVALIDARGを返します。

メソッドが成功し、すべての比較フラグが pdwFlags に設定されている場合、戻り値は S_OK。 メソッドが成功しても、1 つ以上の比較フラグが設定されていない場合、メソッドは S_FALSEを返します。

このインターフェイスは、Windows Media Format 11 SDK 再頒布可能コンポーネントがインストールされている場合、次のプラットフォームで使用できます。

  • Windows XP Service Pack 2 (SP2) 以降。
  • Windows XP Media Center Edition 2005 KB900325 (Windows XP Media Center Edition 2005) とKB925766 (2006 年 10 月 Windows XP Media Center Edition の更新プログラムのロールアップ) がインストールされています。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfobjects.h (Mfidl.h を含む)
Library Mfuuid.lib

こちらもご覧ください

IMFAttributes::Compare

IMFMediaType