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 |