MFCreateDXSurfaceBuffer 函数 (mfapi.h)
创建管理 Direct3D 9 图面的媒体缓冲区对象。
语法
HRESULT MFCreateDXSurfaceBuffer(
[in] REFIID riid,
[in] IUnknown *punkSurface,
[in] BOOL fBottomUpWhenLinear,
[out] IMFMediaBuffer **ppBuffer
);
参数
[in] riid
标识 Direct3D 9 图面的类型。 目前,此值必须 IID_IDirect3DSurface9。
[in] punkSurface
指向 DirectX 图面的 IUnknown 接口的指针。
[in] fBottomUpWhenLinear
如果 为 TRUE,则缓冲区的 IMF2DBuffer::ContiguousCopyTo 方法会将缓冲区复制到自下而上的格式。 对于未压缩的 RGB 图像,自下而上格式与 GDI 兼容。 如果此参数为 FALSE, 则 ContiguousCopyTo 方法会将缓冲区复制到与 DirectX 兼容的自上而下格式。
有关自上而下与自下而上图像的详细信息,请参阅 图像步幅。
[out] ppBuffer
接收指向 IMFMediaBuffer 接口的指针。 调用方必须释放缓冲区。
返回值
函数返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
无效的参数。 |
备注
此函数创建一个媒体缓冲区对象,该对象保存指向 punkSurface 中指定的 Direct3D 图面的指针。 通过锁定缓冲区,调用方可以访问 Surface 内存。 当缓冲区对象被销毁时,它会释放表面。 有关媒体缓冲区的详细信息,请参阅 媒体缓冲区。
注意 此函数不分配 Direct3D 表面本身。
此函数不支持 DXGI 图面。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | mfapi.h |
Library | Evr.lib |
DLL | Evr.dll |