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 |