DXGKDDI_SUBMITCOMMANDVIRTUAL回调函数 (d3dkmddi.h)

DxgkDdiSubmitCommandVirtual 命令将 DMA 缓冲区提交到支持虚拟寻址的上下文。

语法

DXGKDDI_SUBMITCOMMANDVIRTUAL DxgkddiSubmitcommandvirtual;

NTSTATUS DxgkddiSubmitcommandvirtual(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_SUBMITCOMMANDVIRTUAL pSubmitCommand
)
{...}

参数

hAdapter

与显示适配器关联的上下文块的句柄。 显示微型端口驱动程序(KMD)以前在 DxgkDdiAddDevice 函数的 MiniportDeviceContext 输出参数中向 Dxgkrnl 提供了此句柄。

pSubmitCommand

指向 描述作的DXGKARG_SUBMITCOMMANDVIRTUAL 结构的指针。

返回值

说明
状态_成功 提交的命令格式正确。
状态_参数无效 DMA 或专用数据确定格式不正确。 在这种情况下,OS 会将调用设备置于错误状态,并且其上的所有后续调用都将失败。 传递给此调用的 SubmissionFenceId 值将在硬件上的所有先前数据包完成后视为已完成,此时应将上次完成围栏 ID 的驱动程序概念更新为此值。 此行为不同于对DxgkDdiSubmitCommand 的调用,因为能够验证先前 DxgkDdiRender 调用中的数据,因此不允许返回任何错误。

所有其他返回值都将导致 OS bug 检查。

注解

DxgkDdiSubmitCommandVirtual 适用于虚拟内存寻址,而 DxgkDdiSubmitCommand 则通过物理内存调用。 DxgkDdiSubmitCommandVirtual 允许驱动程序更灵活地管理内存。

GPU 以前可能使用过不同的地址空间,也可能用于另一个进程或上下文。 驱动程序负责确保在提交特定 DMA 缓冲区之前还原正确的地址空间。

要求

要求 价值
最低支持的客户端 Windows 10
支持的最低服务器 Windows Server 2016
目标平台 桌面
标头 d3dkmddi.h

另请参阅

DXGKARG_SUBMITCOMMANDVIRTUAL

DxgkDdiRender

DxgkDdiSubmitCommand