DXGKDDI_QUERYDIRTYBITDATA回调函数 (d3dkmddi.h)

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

语法

DXGKDDI_QUERYDIRTYBITDATA DxgkddiQuerydirtybitdata;

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

参数

hAdapter

[in]与显示适配器关联的上下文块的句柄。 KMD 以前在 DxgiDdiAddDevice 函数的 MiniportDeviceContext 输出参数中向 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