IDXGIOutput1::GetDisplaySurfaceData1 方法 (dxgi1_2.h)
将显示图面 (前缓冲区) 复制到用户提供的资源。
语法
HRESULT GetDisplaySurfaceData1(
[in] IDXGIResource *pDestination
);
参数
[in] pDestination
指向资源接口的指针,该接口表示 GetDisplaySurfaceData1 将显示图面复制到的资源。
返回值
返回 DXGI_ERROR 主题中所述的错误代码之一。
注解
GetDisplaySurfaceData1 类似于 IDXGIOutput::GetDisplaySurfaceData,但 GetDisplaySurfaceData1 采用 IDXGIResource,IDXGIOutput::GetDisplaySurfaceData 采用 IDXGISurface。
如果输入资源不是由 ID3D11Texture2D 接口表示的 2D 纹理 (且数组大小) (arraySize 成员的 D3D11_TEXTURE2D_DESC 结构) 等于交换链缓冲区,则 GetDisplaySurfaceData1 将返回错误。
原始 IDXGIOutput::GetDisplaySurfaceData 和更新的 GetDisplaySurfaceData1 的行为完全相同。 需要 GetDisplaySurfaceData1,因为数组大小等于 2 (ArraySize = 2) 的纹理不实现 IDXGISurface。
仅当输出处于全屏模式时,才能调用 GetDisplaySurfaceData1 。 如果 GetDisplaySurfaceData1 成功,它将填充目标资源。
若要为目标资源分配空间,请使用 IDXGIOutput::GetDesc 确定输出的大小 (宽度和高度) 。 无论目标监视器旋转如何,都是如此。 必须使用 CPU 写入权限创建由图形组件 ((如 Direct3D 11) )创建的目标资源, (请参阅 D3D11_CPU_ACCESS_WRITE) 。 可以使用 CPU 读写权限创建其他图面, (D3D11_CPU_ACCESS_READ | D3D11_CPU_ACCESS_WRITE) 。 GetDisplaySurfaceData1 修改图面数据以适应目标资源, (拉伸、收缩、转换格式、旋转) 。 GetDisplaySurfaceData1 使用点采样执行拉伸和收缩。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 7 的Windows 8和平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | 适用于 Windows Server 2008 R2 的Windows Server 2012和平台更新 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | dxgi1_2.h |
Library | DXGI.lib |