Share via


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

類型: D3DBACKBUFFER_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

另請參閱

IDirect3DSwapChain9

IDirect3DSwapChain9::GetFrontBufferData