次の方法で共有


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 に変換したものが格納される。

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

この関数は、設計上非常に低速であるため、パフォーマンスが重要視される流れの中では使うべきでない。

詳細については、「デバイスの消失」を参照すること。