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)

另请参阅

媒体缓冲区

媒体基础接口