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 |