IMFMediaType::IsEqual 方法 (mfobjects.h)
比较两种媒体类型,并确定它们是否相同。 如果它们不相同,则 方法指示这两种格式的不同之处。
语法
HRESULT IsEqual(
[in] IMFMediaType *pIMediaType,
[out] DWORD *pdwFlags
);
参数
[in] pIMediaType
指向要比较的媒体类型的 IMFMediaType 接口的指针。
[out] pdwFlags
接收零个或多个标志的按位 OR ,指示两种媒体类型之间的相似程度。 定义了以下标志。
值 | 含义 |
---|---|
|
主要类型相同。 主类型由 MF_MT_MAJOR_TYPE 属性指定。 |
|
子类型相同,或者两种媒体类型都没有子类型。 子类型由 MF_MT_SUBTYPE 属性指定。 |
|
其中一个媒体类型中的属性是另一个媒体类型的属性的子集,这些属性的值匹配(不包括 MF_MT_USER_DATA、 MF_MT_FRAME_RATE_RANGE_MIN和 MF_MT_FRAME_RATE_RANGE_MAX 属性的值)。
具体来说,方法采用具有较少数量的属性的媒体类型,并检查该类型的每个属性是否存在于其他媒体类型中,并且具有相同的值, (不包括 MF_MT_USER_DATA、 MF_MT_FRAME_RATE_RANGE_MIN和 MF_MT_FRAME_RATE_RANGE_MAX) 。 若要执行其他比较,请使用 IMFAttributes::Compare 方法。 例如, Compare 方法可以测试相同的属性,或测试两个属性集的交集。 有关详细信息,请参阅 MF_ATTRIBUTES_MATCH_TYPE。 |
|
用户数据相同,或者两种媒体类型均不包含用户数据。 用户数据由 MF_MT_USER_DATA 属性指定。 |
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
类型不相等。 检查 pdwFlags 参数以确定类型有何不同。 |
|
类型相等。 |
|
一种或两种媒体类型无效。 |
注解
这两种媒体类型都必须具有主类型,否则方法返回 E_INVALIDARG。
如果 方法成功,并且所有比较标志都在 pdwFlags 中设置,则返回值为 S_OK。 如果方法成功,但未设置一个或多个比较标志,则该方法返回 S_FALSE。
如果安装了 Windows Media Format 11 SDK 可再发行组件,则此接口在以下平台上可用:
- 具有 Service Pack 2 的 Windows XP (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 |