IMFSample::GetBufferByIndex 方法 (mfobjects.h)
按索引从样本中获取缓冲区。
注意 在大多数情况下,使用 IMFSample::ConvertToContiguousBuffer 方法更安全。 如果示例包含多个缓冲区, 则 ConvertToContiguousBuffer 方法会将它们替换为单个缓冲区,将原始数据复制到该缓冲区,并将新缓冲区返回给调用方。 复制操作最多发生一次。 在后续调用中,不会复制任何数据。
语法
HRESULT GetBufferByIndex(
[in] DWORD dwIndex,
[out] IMFMediaBuffer **ppBuffer
);
参数
[in] dwIndex
缓冲区的索引。 若要查找示例中的缓冲区数,请调用 IMFSample::GetBufferCount。 缓冲区从零开始编制索引。
[out] ppBuffer
接收指向 IMFMediaBuffer 接口的 指针。 调用方必须释放接口。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
NULL 指针参数,或索引已超过范围。 |
注解
一个示例可能包含多个缓冲区。 使用 GetBufferByIndex 方法枚举各个缓冲区。
如果安装了 Windows Media Format 11 SDK 可再发行组件,则此接口在以下平台上可用:
- Windows XP with 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 |