IDirect3DDevice9::GetFrontBufferData

デバイスのフロント バッファーのコピーを生成し、そのコピーをアプリケーションで指定されたシステム メモリー バッファーに配置します。

HRESULT 
GetFrontBufferData(
  UINT  iSwapChain,
  IDirect3DSurface9 * pDestSurface
);

パラメータ

  • iSwapChain
    スワップ チェーンを指定する符号なし整数です。
  • pDestSurface
    フロント バッファーのコンテンツのコピーを受け取る IDirect3DSurface9 インターフェイスへのポインターです。データは、デバイスの出力の一番上の行から一番下の行まで、スペースを挟まず連続した行の形式で返されます。

ウィンドウ表示モードの場合、デスティネーション サーフェスのサイズはデスクトップのサイズである必要があります。全画面モードの場合、デスティネーション サーフェスのサイズは画面サイズである必要があります。

戻り値

メソッドが成功した場合は、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_DRIVERINTERNALERROR、D3DERR_DEVICELOST、D3DERR_INVALIDCALL

解説 

pDestSurface でポイントされるバッファーには、標準のピクセルあたり 32 ビットのフォーマット D3DFMT_A8R8G8B8 に変換されたフロント バッファーの表示が格納されます。

このメソッドは、アンチエイリアシングが適用されたスクリーン ショットをキャプチャーする唯一の方法です。

設計上、この関数はきわめて低速なため、パフォーマンスを重視するパスで使用してはいけません。

詳細については、「Lost Devices and Retrieved Data」を参照してください。

要件

ヘッダー: D3D9.h 宣言

ライブラリ: D3D9.lib 内容