DXGKDDI_QUERYDIRTYBITDATA回调函数 (d3dkmddi.h)

Dxgkrnl 调用 DxgkDdiQueryDirtyBitData,从内核模式显示微型端口驱动程序(KMD)请求脏位平面数据的副本。

语法

DXGKDDI_QUERYDIRTYBITDATA DxgkddiQuerydirtybitdata;

NTSTATUS DxgkddiQuerydirtybitdata(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARG_QUERYDIRTYBITDATA pArgs
)
{...}

参数

hAdapter

[in]与显示适配器关联的上下文块的句柄。 KMD 以前提供了此句柄,用于在 MiniportDeviceContextDxgiDdiAddDevice 函数的输出参数中 Dxgkrnl

pArgs

[in/out]指向包含查询输入和输出信息的 DXGKARG_QUERYDIRTYBITDATA 结构的指针。

返回值

如果查询成功,则 DxgkDdiQueryDirtyBitData 返回STATUS_SUCCESS。 否则,它将返回适当的 NTSTATUS 错误代码。

言论

该函数为请求的脏信息提供内存基础和潜在的子范围标识符。 KMD 必须将生成的数据写入输出缓冲区。 DxgkDdiQueryDirtyBitData 允许查询内存基础的所有范围或单个范围。

当内存可供使用时,Dxgkrnl 将尝试使用单个调用来一次查询所有所需数据来加速此作。 但是,在内存不足的情况下,可能需要使用较小的固定大小的缓冲区向前进度,这是从之前调用 DdiStartDirtyTracking 中跟踪的内存基础的较小子集。 请求的脏位平面范围永远不会超过主动跟踪的脏范围。

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

要求

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

另请参阅

DXGKARG_QUERYDIRTYBITDATA