共用方式為


IDirect3DDevice9::GetFrontBufferData 方法 (d3d9.h)

產生裝置前端緩衝區的複本,並將該復本放在應用程式所提供的系統記憶體緩衝區中。

語法

HRESULT GetFrontBufferData(
  [in] UINT              iSwapChain,
  [in] IDirect3DSurface9 *pDestSurface
);

參數

[in] iSwapChain

類型: UINT

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

[in] pDestSurface

類型: IDirect3DSurface9*

IDirect3DSurface9 介面的指標,該介面將接收前端緩衝區的內容複本。 數據會以連續的數據列傳回,沒有交錯空間,從裝置輸出的垂直最高數據列開始到最低。

如果是視窗模式,目的地介面的大小應該是桌面的大小。 若為全螢幕模式,目的地介面的大小應該是螢幕大小。

傳回值

類型: HRESULT

如果方法成功,傳回值會D3D_OK。 如果方法失敗,傳回值可以是下列其中一項:D3DERR_DRIVERINTERNALERROR、D3DERR_DEVICELOST、D3DERR_INVALIDCALL

備註

pDestSurface 所指向的緩衝區會填入前端緩衝區的表示法,並轉換成每個圖元格式的標準 32 位D3DFMT_A8R8G8B8。

這個方法是擷取反鋸齒螢幕快照的唯一方法。

此函式的設計速度非常慢,不應用於任何效能關鍵性路徑。

如需詳細資訊,請參閱 遺失裝置和擷取的數據

規格需求

需求
目標平台 Windows
標頭 d3d9.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

IDirect3DDevice9