MFCreateMediaBufferWrapper 函数 (mfapi.h)
创建包装现有媒体缓冲区的媒体缓冲区。 新媒体缓冲区指向与原始媒体缓冲区相同的内存,或指向与内存开头的偏移量。
语法
HRESULT MFCreateMediaBufferWrapper(
[in] IMFMediaBuffer *pBuffer,
[in] DWORD cbOffset,
[in] DWORD dwLength,
[out] IMFMediaBuffer **ppBuffer
);
参数
[in] pBuffer
指向原始媒体缓冲区的 IMFMediaBuffer 接口的指针。
[in] cbOffset
新缓冲区的开头,作为与原始缓冲区开头的偏移量(以字节为单位)。
[in] dwLength
新缓冲区的大小。 cbOffset + dwLength 的值必须小于或等于原始缓冲区中有效数据的大小。 (IMFMediaBuffer::GetCurrentLength 方法返回有效数据的大小。)
[out] ppBuffer
接收指向 IMFMediaBuffer 接口的 指针。 调用方必须释放接口。
返回值
函数返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
函数成功。 |
|
请求的偏移量或请求的长度无效。 |
注解
包装器缓冲区的最大大小限制为原始缓冲区中有效数据的大小。 这可能小于原始缓冲区的分配大小。 若要设置有效数据的大小,请调用 IMFMediaBuffer::SetCurrentLength。
如果安装了 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 |
标头 | mfapi.h |
Library | Mfplat.lib |
DLL | Mfplat.dll |