共用方式為


IDirect3DDevice9::P resent 方法 (d3d9helper.h)

在裝置所擁有的後端緩衝區序列中呈現下一個緩衝區的內容。

語法

HRESULT Present(
  [in] const RECT    *pSourceRect,
  [in] const RECT    *pDestRect,
  [in] HWND          hDestWindowOverride,
  [in] const RGNDATA *pDirtyRegion
);

參數

[in] pSourceRect

類型:const RECT*

除非使用 D3DSWAPEFFECT_COPY 建立交換鏈結,否則值必須是 Null 的指標。 pSourceRect 是包含來源矩形之 RECT 結構的指標。 如果 為 Null,則會顯示整個來源介面。 如果矩形超過來源介面,矩形就會裁剪到來源介面。

[in] pDestRect

類型:const RECT*

除非使用 D3DSWAPEFFECT_COPY 建立交換鏈結,否則值必須是 Null 的指標。 pDestRect 是包含目的地矩形之 RECT 結構的指標,其位於視窗用戶端座標中。 如果 為 Null,則會填滿整個工作區。 如果矩形超過目的地工作區,則會將矩形裁剪到目的地工作區。

[in] hDestWindowOverride

類型: HWND

目的地視窗的指標,其工作區會作為此簡報的目標。 如果此值為Null,執行時間會針對簡報使用D3DPRESENT_PARAMETERShDeviceWindow成員。

[in] pDirtyRegion

類型:const RGNDATA*

除非使用 D3DSWAPEFFECT_COPY 建立交換鏈結,否則值必須是 Null 。 如需交換鏈結的詳細資訊,請參閱 翻轉 Surface (Direct3D 9) D3DSWAPEFFECT。 如果此值為非Null,則包含的區域會以後端緩衝區座標表示。 區域內的矩形是需要更新的最小圖元集。 此方法會將這些矩形納入考慮,方法是只複製區域內的圖元,或一些適當展開的矩形集來優化簡報。 這只是優化協助工具,應用程式不應該完全依賴複製的區域。 實作可以選擇複製整個來源矩形。

傳回值

類型: HRESULT

可能的傳回值包括:D3D_OK或D3DERR_DEVICEREMOVED (請參閱 D3DERR) 。

備註

如有必要,會套用延展作業,將來源矩形內的圖元傳送至目標視窗工作區中的目的地矩形。

如果 BeginScene 與 EndScene 配對之間呼叫,則呈現將會失敗,傳回D3DERR_INVALIDCALL,除非轉譯目標不是目前的轉譯目標 (,例如您從建立其他交換鏈結) 取得的背景緩衝區。 這是 Direct3D 9 的新行為。

需求

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

另請參閱

IDirect3DDevice9

(Direct3D 9) 遺失的裝置

Multihead (Direct3D 9)

重設