DXGKDDI_BUILDTESTCOMMANDBUFFER回调函数 (d3dkmddi.h)
KMD 的 DXGKDDI_BUILDTESTCOMMANDBUFFER 函数为 内核模式测试生成测试命令缓冲区。
语法
DXGKDDI_BUILDTESTCOMMANDBUFFER DxgkddiBuildtestcommandbuffer;
NTSTATUS DxgkddiBuildtestcommandbuffer(
IN_CONST_HANDLE hAdapter,
INOUT_PDXGKARG_BUILDTESTCOMMANDBUFFER pArgs
)
{...}
参数
hAdapter
[in]与显示适配器关联的上下文块的句柄。 内核模式显示微型端口驱动程序(KMD)以前提供了此句柄,用于在 MiniportDeviceContextDxgkDdiAddDevice 函数的输出参数中 Dxgkrnl。
pArgs
[in/out]指向描述要生成的测试命令缓冲区的 DXGKARG_BUILDTESTCOMMANDBUFFER 结构的指针。
返回值
如果函数成功,DXGKDDI_BUILDTESTCOMMANDBUFFER 将返回NTSTATUS_SUCCESS。 否则,它将返回相应的 NTSTATUS 代码,例如STATUS_BUFFER_OVERFLOW。
言论
DXGKDDI_BUILDTESTCOMMANDBUFFER 为一组简单命令生成具有特定于设备的指令的命令缓冲区。 KMD 通过 DxgkDdiQueryFeatureInterface(DXGK_FEATURE_KERNEL_MODE_TESTING)在 pfnBuildTestCommandBuffer 中返回指向此函数的指针。
pDmaBuffer 为 NULL 或太小时,KMD 需要在 DmaBufferSize 中设置缓冲区所需的大小,并返回STATUS_BUFFER_OVERFLOW。
pDmaBufferPrivateData 为 NULL 或太小且 KMD 需要生成专用数据时,KMD 需要在 DmaBufferPrivateDataSize 中设置所需的大小,并返回STATUS_BUFFER_OVERFLOW。
KMD 必须在同一调用中计算这两个缓冲区的大小。
有关详细信息,请参阅 内核模式测试。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 11 版本 24H2 (WDDM 3.2) |
标头 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |