D3D11_MAPPED_SUBRESOURCE 结构 (d3d11.h)

提供对子资源数据的访问权限。

语法

typedef struct D3D11_MAPPED_SUBRESOURCE {
  void *pData;
  UINT RowPitch;
  UINT DepthPitch;
} D3D11_MAPPED_SUBRESOURCE;

成员

pData

类型: void*

指向数据的指针。 当 ID3D11DeviceContext::Map 提供指针时,运行时将确保指针具有特定的对齐方式,具体取决于以下功能级别:

RowPitch

类型: UINT

数据) 行间距、宽度或物理大小 (字节数。

DepthPitch

类型: UINT

数据的深度间距、宽度或物理大小 (字节) 。

注解

此结构用于调用 ID3D11DeviceContext::Map

这些成员中的值指示可以查看的数据量:

  • pData 指向第 0 行和深度切片 0。
  • RowPitch 包含运行时添加到 pData 以在行之间移动的值,其中每一行包含多个像素。
  • DepthPitch 包含运行时添加到 pData 以从深度切片移动到深度切片的值,其中每个深度切片包含多行。
如果 RowPitchDepthPitch 不适合资源类型,运行时可能会将其值设置为 0。 因此,除了循环访问行和深度之外,不要将这些值用于任何其他操作。 下面是一些示例:
  • 对于 BufferTexture1D,运行时会将不为 0 的值分配给 RowPitchDepthPitch。 例如,如果 缓冲区 包含 8 个字节,运行时会将大于或等于 8 的值分配给 RowPitchDepthPitch
  • 对于 Texture2D,运行时仍会将不为 0 的值分配给 DepthPitch(假设未使用该字段)。
注意 运行时可能会向 RowPitchDepthPitch 分配大于预期的值,因为行和深度之间可能存在填充。
 

要求

要求
Header d3d11.h

另请参阅

资源结构