IAudioMediaType::IsEqual 方法 (audiomediatype.h)

方法 IsEqual 比较两种媒体类型,并确定它们是否相同。

语法

HRESULT IsEqual(
  [in]  IAudioMediaType *pIAudioType,
  [out] DWORD           *pdwFlags
);

参数

[in] pIAudioType

指定要比较的媒体类型的 IAudioMediaType 接口的指针。

[out] pdwFlags

指定指向包含零个或多个标志的按位 OR 结果的 DWORD 变量的指针。 这些标志指示两种媒体类型之间的相似程度。 下表显示了支持的标志。

标志 含义
AUDIOMEDIATYPE_EQUAL_FORMAT_TYPES 音频格式类型相同。
AUDIOMEDIATYPE_EQUAL_FORMAT_DATA 格式信息匹配,不包括基本 WAVEFORMATEX 结构以外的额外数据。
AUDIOMEDIATYPE_EQUAL_FORMAT_USER_DATA 额外的数据是相同的,或者两种媒体类型都不包含额外的数据。

返回值

如果成功,该方法 IsEqual 将返回S_OK,否则返回下表中显示的 HRESULT 值之一。

返回代码 说明
E_INVALIDARG
一种媒体类型无效,或者两种媒体类型都无效。
S_FALSE
媒体类型不相等。 检查 pdwFlags 参数以确定媒体类型有何不同。

注解

这两种媒体类型都必须具有主类型,否则该方法将返回E_INVALIDARG。 有关媒体类型的详细信息,请参阅 媒体类型

MF_MEDIATYPE_EQUAL_FORMAT_DATA标志指示这两种媒体类型都具有兼容的属性,尽管其中一种可能是另一种媒体类型的超集。 这种比较方法意味着可以将部分指定的媒体类型与完整的媒体类型进行比较。 例如,可能有两种描述相同格式的视频类型,但一种类型包含扩展颜色信息的属性 (色度定位、标称范围等) 。

如果方法成功,并且所有比较标志都在 pdwFlags 中设置,则返回值S_OK。 如果方法成功,但未设置某些比较标志,则该方法返回S_FALSE。

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 中可用。
目标平台 桌面
标头 audiomediatype.h (包括 Audiomediatype.h)
IRQL 所有级别。

另请参阅

IAudioMediaType

媒体类型

WAVEFORMATEX