IDirect3DSwapChain9::GetBackBuffer 方法 (d3d9helper.h)
从设备的交换链中检索后台缓冲区。
语法
HRESULT GetBackBuffer(
[in] UINT iBackBuffer,
[in] D3DBACKBUFFER_TYPE Type,
[out, retval] IDirect3DSurface9 **ppBackBuffer
);
参数
[in] iBackBuffer
类型: UINT
要返回的后台缓冲区对象的索引。 后退缓冲区的编号从 0 到后退缓冲区的总数 - 1。 值为 0 将返回第一个后部缓冲区,而不是前缓冲区。 无法通过此方法访问前缓冲区。 使用 IDirect3DSwapChain9::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 |