共用方式為


IDirect3DDevice9::GetBackBuffer 方法 (d3d9.h)

從裝置的交換鏈結擷取背景緩衝區。

語法

HRESULT GetBackBuffer(
  [in]          UINT               iSwapChain,
  [in]          UINT               iBackBuffer,
  [in]          D3DBACKBUFFER_TYPE Type,
  [out, retval] IDirect3DSurface9  **ppBackBuffer
);

參數

[in] iSwapChain

類型: UINT

指定交換鏈結的不帶正負號整數。

[in] iBackBuffer

類型: UINT

要傳回之後端緩衝區物件的索引。 Back buffers numbered from 0 to the total number of back buffers 減一。 值為 0 會傳回第一個後端緩衝區,而不是前端緩衝區。 無法透過此方法存取前端緩衝區。 使用 IDirect3DDevice9::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
標頭 d3d9.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

IDirect3DDevice9

IDirect3DDevice9::GetFrontBufferData