IDirect3DDevice9::GetBackBuffer 方法 (d3d9helper.h)
从设备的交换链中检索后台缓冲区。
语法
HRESULT GetBackBuffer(
[in] UINT iSwapChain,
[in] UINT iBackBuffer,
[in] D3DBACKBUFFER_TYPE Type,
[out, retval] IDirect3DSurface9 **ppBackBuffer
);
参数
[in] iSwapChain
类型: UINT
一个指定交换链的无符号整数。
[in] iBackBuffer
类型: UINT
要返回的后台缓冲区对象的索引。 后台缓冲区的编号从 0 到后台缓冲区的总数减 1。 如果值为 0,则返回第一个后台缓冲区,而不是前缓冲区。 无法通过此方法访问前端缓冲区。 使用 IDirect3DDevice9::GetFrontBufferData 检索前端缓冲区的副本。
[in] Type
Direct3D 9 不支持立体视图,因此此参数的唯一有效值是D3DBACKBUFFER_TYPE_MONO。
[out, retval] ppBackBuffer
类型: IDirect3DSurface9**
指向 IDirect3DSurface9 接口的指针的地址,表示返回的后台缓冲区图面。
返回值
类型: HRESULT
如果该方法成功,则返回值D3D_OK。 如果 BackBuffer 等于或超过后台缓冲区的总数,则该函数将失败并返回D3DERR_INVALIDCALL。
备注
调用此方法将增加 IDirect3DSurface9 接口上的内部引用计数。 使用此 IDirect3DSurface9 接口时调用 IUnknown::Release 失败会导致内存泄漏。
要求
目标平台 | Windows |
标头 | d3d9helper.h (包括 D3D9.h) |
Library | D3D9.lib |