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

另请参阅

IDXGIOutput1