IDirect3DDevice9::GetFrontBufferData メソッド
IDirect3DDevice9::GetFrontBufferData メソッド
デバイスのフロント バッファのコピーを生成し、アプリケーションが提供するシステム メモリ バッファにそのコピーを格納する。
構文
HRESULT GetFrontBufferData(
UINT iSwapChain,
IDirect3DSurface9 *pDestSurface
);
パラメータ
iSwapChain
[in] スワップ チェーンを指定する符号なし整数。pDestSurface
[in] IDirect3DSurface9 インターフェイスへのポインタ。フロント バッファの内容のコピーを受け取る。データは、デバイスの出力の一番上の行から始めて一番下の行まで、間にスペースを挟まない連続した行として返される。ウィンドウ モードの場合、転送先サーフェイスのサイズは、デスクトップのサイズでなければならない。フルスクリーン モードの場合、転送先サーフェイスのサイズは、スクリーンのサイズでなければならない。
戻り値
成功した場合は、D3D_OK を返す。
失敗した場合は、次のいずれかの値を返す。
D3DERR_DEVICELOST | デバイスは、消失しているが、現在リセットできない。したがって、レンダリングは不可能である。 |
D3DERR_INVALIDCALL | メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。 |
注意
pDestSurface で示されるバッファには、フロント バッファの表示を標準の 32bpp フォーマットである D3DFMT_A8R8G8B8 に変換したものが格納される。
このメソッドは、アンチエイリアスされたスクリーン ショットをキャプチャする唯一の方法である。
この関数は、設計上非常に低速であるため、パフォーマンスが重要視される流れの中では使うべきでない。
詳細については、「デバイスの消失」を参照すること。