IMFASFStreamConfig::GetPayloadExtension 方法 (wmcontainer.h)

检索有关现有有效负载扩展的信息。

语法

HRESULT GetPayloadExtension(
  [in]      WORD  wPayloadExtensionNumber,
  [out]     GUID  *pguidExtensionSystemID,
  [out]     WORD  *pcbExtensionDataSize,
  [out]     BYTE  *pbExtensionSystemInfo,
  [in, out] DWORD *pcbExtensionSystemInfo
);

参数

[in] wPayloadExtensionNumber

有效负载扩展索引。 有效索引范围为 0,比调用 IMFASFStreamConfig::GetPayloadExtensionCount 获取的扩展数少一个。

[out] pguidExtensionSystemID

接收标识有效负载扩展的 GUID。 有关预定义有效负载扩展的列表,请参阅 ASF 有效负载扩展 GUID。 应用程序还可以定义自定义有效负载扩展。

[out] pcbExtensionDataSize

接收添加到扩展的每个样本的字节数。

[out] pbExtensionSystemInfo

指向接收有关此扩展系统信息的缓冲区的指针。 此信息对于所有示例都是相同的,并且存储在内容标头中, (不存储在每个示例) 中。 此参数可以为 NULL。 若要查找所需的缓冲区大小,请将此参数设置为 NULL;大小在 板ExtensionSystemInfo 中返回。

[in, out] pcbExtensionSystemInfo

输入时,指定 pbExtensionSystemInfo 指向的缓冲区的大小。 在输出时,接收 pbExtensionSystemInfo 缓冲区的所需大小(以字节为单位)。

返回值

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

返回代码 说明
S_OK
方法成功。
E_INVALIDARG
无效的参数。
MF_E_BUFFERTOOSMALL
pbExtensionSystemInfo 中指定的缓冲区太小。
MF_E_INVALIDINDEX
wPayloadExtensionNumber 参数已超过范围。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 wmcontainer.h
Library Mfuuid.lib

另请参阅

IMFASFStreamConfig

IMFASFStreamConfig::AddPayloadExtension

IMFASFStreamConfig::GetPayloadExtensionCount