IDirect3DDevice9::GetFrontBufferData 方法 (d3d9helper.h)

生成设备前端缓冲区的副本,并将该副本放置在应用程序提供的系统内存缓冲区中。

语法

HRESULT GetFrontBufferData(
  [in] UINT              iSwapChain,
  [in] IDirect3DSurface9 *pDestSurface
);

参数

[in] iSwapChain

类型: UINT

一个指定交换链的无符号整数。

[in] pDestSurface

类型: IDirect3DSurface9*

指向 IDirect3DSurface9 接口的指针,该接口将接收前端缓冲区内容的副本。 数据以连续的行返回,没有中间空间,从设备输出中垂直最高的行开始到最低行。

对于窗口模式,目标图面的大小应为桌面的大小。 对于全屏模式,目标图面的大小应为屏幕大小。

返回值

类型: HRESULT

如果该方法成功,则返回值D3D_OK。 如果该方法失败,则返回值可以是下列值之一:D3DERR_DRIVERINTERNALERROR、D3DERR_DEVICELOST、D3DERR_INVALIDCALL

备注

pDestSurface 指向的缓冲区将使用前缓冲区的表示形式填充,D3DFMT_A8R8G8B8转换为标准 32 位/像素格式。

此方法是捕获抗锯齿屏幕截图的唯一方法。

根据设计,此函数非常缓慢,不应在任何性能关键路径中使用。

有关详细信息,请参阅 丢失设备和检索到的数据

要求

   
目标平台 Windows
标头 d3d9helper.h (包括 D3D9.h)
Library D3D9.lib

另请参阅

IDirect3DDevice9