ID3D11DeviceContext1::CopySubresourceRegion1 方法 (d3d11_1.h)

将区域从源资源复制到目标资源。

语法

void CopySubresourceRegion1(
  [in]           ID3D11Resource  *pDstResource,
  [in]           UINT            DstSubresource,
  [in]           UINT            DstX,
  [in]           UINT            DstY,
  [in]           UINT            DstZ,
  [in]           ID3D11Resource  *pSrcResource,
  [in]           UINT            SrcSubresource,
  [in, optional] const D3D11_BOX *pSrcBox,
  [in]           UINT            CopyFlags
);

参数

[in] pDstResource

类型: ID3D11Resource*

指向目标资源的指针。

[in] DstSubresource

类型: UINT

目标子资源索引。

[in] DstX

类型: UINT

目标区域左上角的 x 坐标。

[in] DstY

类型: UINT

目标区域左上角的 y 坐标。 对于 1D 子资源,这必须为零。

[in] DstZ

类型: UINT

目标区域左上角的 z 坐标。 对于 1D 或 2D 子资源,这必须为零。

[in] pSrcResource

类型: ID3D11Resource*

指向源资源的指针。

[in] SrcSubresource

类型: UINT

源子资源索引。

[in, optional] pSrcBox

类型: const D3D11_BOX*

指向 3D 框的指针,该框定义 CopySubresourceRegion1 可以复制的源子资源的区域。 如果 为 NULL则 CopySubresourceRegion1 将复制整个源子资源。 框必须适合源资源。

空框会导致无操作。 如果顶值大于或等于底部值,或者左值大于或等于右值,或者前值大于或等于后的值,则框为空。 当框为空时, CopySubresourceRegion1 不执行复制操作。

[in] CopyFlags

类型: UINT

一个D3D11_COPY_FLAGS类型的值,该值指定如何执行复制操作。 如果为无复制选项指定零, 则 CopySubresourceRegion1 的行为类似于 ID3D11DeviceContext::CopySubresourceRegion。 对于无法处理这些标志的现有显示驱动程序,运行时不使用它们。

返回值

备注

如果显示驱动程序支持重叠,则源和目标子资源可以相同,并且源和目标区域可以相互重叠。 对于不支持重叠的现有显示驱动程序,无论区域是否重叠,运行时都会删除具有相同源和目标子资源的调用。 若要确定显示驱动程序是否支持重叠,检查 D3D11_FEATURE_DATA_D3D11_OPTIONSCopyWithOverlap 成员。 这种重叠支持可在调用 IDXGISwapChain::P resent 时启用其他滚动功能。

注释仅适用于硬件9_x功能级别 如果使用 ID3D11DeviceContext1::UpdateSubresource1CopySubresourceRegion1 从暂存资源复制到默认资源,则可能会损坏目标内容。 如果传递 NULL 源框,并且源资源的维度与目标资源的维度不同,或者使用目标偏移量, (x、y 和 z) ,则会出现这种情况。 在这种情况下,始终传递源资源的完整大小的源框。
 

要求

   
最低受支持的客户端 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 和适用于 Windows Server 2008 R2 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 d3d11_1.h
Library D3D11.lib

另请参阅

ID3D11DeviceContext1