IMFMediaBuffer 接口 (mfobjects.h)
表示包含媒体数据的内存块。 使用此接口访问缓冲区中的数据。
继承
IMFMediaBuffer 接口继承自 IUnknown 接口。 IMFMediaBuffer 也有以下类型的成员:
方法
IMFMediaBuffer 接口具有这些方法。
IMFMediaBuffer::GetCurrentLength 检索缓冲区中有效数据的长度。 |
IMFMediaBuffer::GetMaxLength 检索分配的缓冲区大小。 |
IMFMediaBuffer::Lock 向调用方授予对缓冲区中内存的访问权限,以便进行读取或写入。 |
IMFMediaBuffer::SetCurrentLength 设置缓冲区中有效数据的长度。 |
IMFMediaBuffer::Unlock 解锁以前锁定的缓冲区。 每次调用 IMFMediaBuffer::Lock 时调用此方法一次。 |
注解
如果缓冲区包含二维图像数据 ((如未压缩的视频帧) ),则应查询 IMF2DBuffer 接口的缓冲区。 IMF2DBuffer 上的方法针对二维数据进行了优化。
若要从媒体示例获取缓冲区,请调用以下 IMFSample 方法之一:
若要创建新的缓冲区对象,请使用以下函数之一。函数 | 说明 |
---|---|
MFCreateMemoryBuffer | 创建缓冲区并分配系统内存。 |
MFCreateMediaBufferWrapper | 创建包装现有媒体缓冲区的媒体缓冲区。 |
MFCreateDXSurfaceBuffer | 创建管理 DirectX 图面的缓冲区。 |
MFCreateAlignedMemoryBuffer | 创建缓冲区并分配具有指定对齐方式的系统内存。 |
如果安装了 Windows Media Format 11 SDK 可再发行组件,则此接口在以下平台上可用:
- Windows XP with Service Pack 2 (SP2) 及更高版本。
- Windows XP Media Center Edition 2005 (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) |