IMFMediaType::GetRepresentation 方法 (mfobjects.h)

检索媒体类型的替代表示形式。 目前仅支持 DirectShow AM_MEDIA_TYPE 结构。

语法

HRESULT GetRepresentation(
  [in]  GUID   guidRepresentation,
  [out] LPVOID *ppvRepresentation
);

参数

[in] guidRepresentation

指定要检索的表示形式的 GUID。 定义了以下值。

含义
AM_MEDIA_TYPE_REPRESENTATION
将媒体类型转换为 DirectShow AM_MEDIA_TYPE 结构。 方法 (pbFormat) 选择最合适的格式结构。
FORMAT_MFVideoFormat
使用 MFVIDEOFORMAT 格式结构将媒体类型转换为 DirectShow AM_MEDIA_TYPE 结构。
FORMAT_VideoInfo
使用 VIDEOINFOHEADER 格式结构将媒体类型转换为 DirectShow AM_MEDIA_TYPE 结构。
FORMAT_VideoInfo2
将媒体类型转换为具有 VIDEOINFOHEADER2 格式结构的 DirectShow AM_MEDIA_TYPE 结构。

[out] ppvRepresentation

接收指向包含表示形式的结构的指针。 方法为 结构分配内存。 调用方必须通过调用 IMFMediaType::FreeRepresentation 释放内存。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
MF_E_ATTRIBUTENOTFOUND
媒体类型的详细信息与请求的表示形式不匹配。
MF_E_INVALIDMEDIATYPE
媒体类型无效。
MF_E_UNSUPPORTED_REPRESENTATION
媒体类型不支持请求的表示形式。

注解

如果请求 guidRepresentation 参数中的特定格式结构(例如 VIDEOINFOHEADER),可能会丢失某些格式信息。

还可以使用 MFInitAMMediaTypeFromMFMediaType 函数将 Media Foundation 媒体类型转换为 DirectShow 媒体类型。

如果安装了 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

另请参阅

IMFMediaType

MFVIDEOFORMAT

媒体类型