PFND3DDDI_SUBMITCOMMANDCB回调函数 (d3dumddi.h)

pfnSubmitCommandCb 用于在支持图形处理单元 (GPU) 虚拟寻址的上下文上提交命令缓冲区。 这些上下文直接从用户模式生成命令,管理自己的命令缓冲池,并且不使用分配或修补程序位置列表。

pfnSubmitCommandCb 替换了此类上下文的旧 pfnRenderCb ,并且必须用于它的位置。 在旧版修补模式下运行的上下文必须继续使用旧的 pfnRenderCb

尽管用户模式驱动程序不会生成修补程序位置,但它仍必须生成要写入到的主要位置的列表。 视频内存管理器使用分配列表来确定每个命令缓冲区引用哪些主分配以供写入。 此信息用于使用 Flip 操作将呈现同步到主数据库。

某些内核模式驱动程序需要用户模式驱动程序提供有关如何将特定直接内存访问 (DMA) 缓冲区提交到其 GPU 的信息。 在 Windows 显示驱动程序模型 (WDDM) 1.0 中,用户模式驱动程序通过命令缓冲区将此信息发送到内核模式驱动程序。 由于 DMA 缓冲区由用户模式驱动程序直接生成,并且无需修改即可提交到 GPU,因此它们不能再用于将信息发送到内核驱动程序。 因此,我们将添加要随提交一起发送的显式专用驱动程序数据缓冲区。 请注意,此专用驱动程序数据是单向的,内核模式驱动程序无法通过此缓冲区将信息返回给用户模式驱动程序。

语法

PFND3DDDI_SUBMITCOMMANDCB Pfnd3dddiSubmitcommandcb;

HRESULT Pfnd3dddiSubmitcommandcb(
  HANDLE hDevice,
  const D3DDDICB_SUBMITCOMMAND *unnamedParam2
)
{...}

参数

hDevice

显示设备的句柄。

unnamedParam2

pData [in]

指向描述要执行的操作 的D3DDDICB_SUBMITCOMMAND 结构的指针。

返回值

如果此回调函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

要求

要求
最低受支持的客户端 Windows 10
最低受支持的服务器 Windows Server 2016
目标平台 桌面
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDICB_SUBMITCOMMAND

pfnRenderCb