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

另请参阅

DXGKARG_BUILDTESTCOMMANDBUFFER

DxgkDdiQueryFeatureInterface