DXGKARG_QUERYDIRTYBITDATA 结构 (d3dkmddi.h)

DXGKARG_QUERYDIRTYBITDATADxgkDdiQueryDirtyBitData 的输入/输出参数,用于查询脏位平面数据。

语法

typedef struct _DXGKARG_QUERYDIRTYBITDATA {
  HANDLE MemoryBasis;
  UINT64 SubrangeIndex;
  UINT64 SubrangeOffset;
  UINT64 SubrangeSize;
  PVOID  Buffer;
  SIZE_T BufferSize;
  UINT   Flags;
} DXGKARG_QUERYDIRTYBITDATA;

成员

MemoryBasis

[in]要查询其修改状态的物理内存页范围的集合的句柄。 此句柄以前是通过调用 DxgkDdiCreateMemoryBasis 创建的。

SubrangeIndex

[in]如果指示子范围 (请参阅下面的 SubrangeSize) ,则此数据表示内存基础中要从哪个区域进行查询。

SubrangeOffset

[in]如果 SubrangeSize 不是 0,则 SubrangeOffset 表示从中选择的子范围中查询当前脏位平面的可选偏移量。 此值是字节偏移量,始终是位平面页大小的倍数。

SubrangeSize

[in]指定要查询的内存基础的范围。 当 SubrangeSize 为 0 时,驱动程序应查询整个内存基础。 指定非零大小时,驱动程序应查询内存基础的单个范围,其中 SubrangeIndexSubrangeOffset 提供要查询的物理间隔的起始索引。 SubrangeSize 以字节为单位,始终是位平面页面大小的倍数。

Buffer

[out]要在其中写入生成的位平面数据的缓冲区。

BufferSize

[out]位平面缓冲区的大小(以字节为单位)。 保证大小足够大,以容纳指定的子范围中的每页一位,至少 Size/DXGK_DIRTY_BIT_TRACKING_SEGMENT_CAPS::PageSize/8 () 字节舍入。 如果查询单个子范围, BufferSize 表示 SubrangeSize,而如果引用了整个内存基础, BufferSize 是该基区域的所有 SizeInBytes 的总和。

Flags

[in]一个或多个 DXGKARG_QUERYDIRTYBITDATAFLAGS 值,用于指定调用的其他行为。

注解

有关详细信息,请参阅 脏位跟踪

要求

要求
最低受支持的客户端 Windows 11,版本 24H2 (WDDM 3.2)
标头 d3dkmddi.h

另请参阅

DXGKARG_QUERYDIRTYBITDATAFLAGS

DxgkDdiCreateMemoryBasis

DxgkDdiQueryDirtyBitData