Share via


IDirect3DDevice9::P resent メソッド (d3d9.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 である必要があります。 スワップ チェーンの詳細については、「 サーフェスの反転 (Direct3D 9)」 および 「D3DSWAPEFFECT」を参照してください。 この値が NULL 以外の場合、包含領域はバック バッファー座標で表されます。 領域内の四角形は、更新する必要がある最小限のピクセル セットです。 このメソッドは、領域内のピクセルのみをコピーするか、適切に拡張された一連の四角形をコピーしてプレゼンテーションを最適化するときに、これらの四角形を考慮します。 これは最適化のみに役立ち、アプリケーションは正確にコピーされるリージョンに依存しないでください。 実装では、ソースの四角形全体をコピーすることを選択できます。

戻り値

種類: HRESULT

可能な戻り値には、D3D_OKまたはD3DERR_DEVICEREMOVEDがあります ( D3DERR を参照)。

解説

必要に応じて、ストレッチ操作を適用して、ソース四角形内のピクセルをターゲット ウィンドウのクライアント領域のターゲット四角形に転送します。

レンダー ターゲットが現在のレンダー ターゲット (追加のスワップ チェーンの作成から取得したバック バッファーなど) でない限り、BeginScene と EndScene のペアの間で呼び出された場合、Present は失敗し、D3DERR_INVALIDCALLが返されます。 これは、Direct3D 9 の新しい動作です。

要件

   
対象プラットフォーム Windows
ヘッダー d3d9.h (D3D9.h を含む)
Library D3D9.lib

関連項目

IDirect3DDevice9

紛失したデバイス (Direct3D 9)

マルチヘッド (Direct3D 9)

リセット