D3DKMTSubmitCommand 函数 (d3dkmthk.h)
D3DKMTSubmitCommand 用于在支持图形处理单元(GPU)虚拟寻址的上下文上提交命令缓冲区。 这些上下文直接从用户模式生成命令,管理自己的命令缓冲池,并且不使用分配或修补程序位置列表。
语法
NTSTATUS D3DKMTSubmitCommand(
[in] const D3DKMT_SUBMITCOMMAND *unnamedParam1
);
参数
[in] unnamedParam1
指向描述作的 D3DKMT_SUBMITCOMMAND 结构的指针。
返回值
返回代码 | 描述 |
---|---|
STATUS_SUCCESS | 已成功创建设备上下文。 |
STATUS_INVALID_PARAMETER | 参数已验证并确定不正确。 |
此函数还可以返回其他 NTSTATUS 值。
言论
此函数替换用于此类上下文的旧 Render 函数,并且必须在其位置使用。 在旧版修补模式下运行的上下文必须继续使用旧的 Render 函数。
尽管用户模式驱动程序不生成修补程序位置,但它仍必须生成要写入到的初选列表。 视频内存管理器使用分配列表来确定要由每个命令缓冲区写入的主要分配。 此信息用于将呈现与 翻转作同步到主数据库。
某些内核模式驱动程序需要用户模式驱动程序中的信息,了解如何将特定的直接内存访问(DMA)缓冲区提交到其 GPU。 在 Windows 显示驱动程序模型 (WDDM) 1.0 中,用户模式驱动程序通过命令缓冲区将此信息发送到内核模式驱动程序。 由于 DMA 缓冲区由用户模式驱动程序直接生成,并且无需修改即可提交到 GPU,因此它们不能再用于将信息发送到内核驱动程序。 若要在用户模式和内核模式驱动程序之间启用信息传输,已添加一个显式专用驱动程序数据缓冲区,以便随提交一起发送。
注意
此专用驱动程序数据是单向的,内核模式驱动程序无法通过此缓冲区将信息返回到用户模式驱动程序。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 |
支持的最低服务器 | Windows Server 2016 |
目标平台 | 普遍 |
标头 | d3dkmthk.h (包括 D3dkmthk.h) |
库 | Gdi32.lib |
DLL | Gdi32.dll |