IDirect3DSwapChain9::GetBackBuffer 方法 (d3d9helper.h)
從裝置的交換鏈結擷取後台緩衝區。
語法
HRESULT GetBackBuffer(
[in] UINT iBackBuffer,
[in] D3DBACKBUFFER_TYPE Type,
[out, retval] IDirect3DSurface9 **ppBackBuffer
);
參數
[in] iBackBuffer
類型: UINT
要傳回之後台緩衝區物件的索引。 Back buffers numbered from 0 to the total number of back buffers - 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) |
程式庫 | D3D9.lib |