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 |