IDirect3DDevice9::GetFrontBufferData 方法 (d3d9helper.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
標頭 d3d9helper.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

IDirect3DDevice9