DXGKARG_QUERYDIRTYBITDATA结构(d3dkmddi.h)

DXGKARG_QUERYDIRTYBITDATA 是用于查询脏位平面数据的 DxgkDdiQueryDirtyBitData 的输入/输出参数。

语法

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