DXGKDDI_CONNECTDOORBELL回调函数 (d3dkmddi.h)
重要
某些信息与预发行产品有关,该产品在商业发布之前可能会进行大幅修改。 Microsoft对此处提供的信息不作任何明示或暗示的保证。
DxgkDdiConnectDoorbell 连接(或重新连接 )以前创建的门铃对象 到硬件队列。
语法
DXGKDDI_CONNECTDOORBELL DxgkddiConnectdoorbell;
NTSTATUS DxgkddiConnectdoorbell(
INOUT_PDXGKARG_CONNECTDOORBELL pArgs
)
{...}
参数
pArgs
[in/out]指向描述要连接的门铃的 DXGKARG_CONNECTDOORBELL 结构的指针。
返回值
如果 KMD 能够将其门铃对象成功连接到指定的硬件队列,则 DxgkDDdiConnectDoorbell 返回STATUS_SUCCESS。 此调用通常不应失败;但是,返回的失败代码将来自 GPU 丢失或停止的无法恢复的方案。
言论
当 UMD D3DKMTConnectDoorbell时,OS 会调用 DxgkDdiConnectDoorbell,以便 KMD 可以执行以下作:
- 提供映射到物理门铃位置的 CPU 虚拟地址。
- 在硬件队列对象、门铃对象、门铃物理地址、GPU 计划程序等之间建立所需的连接。
从此 DDI 返回时,KMD 应将此物理地址视为为此特定硬件队列保留的。 但是,OS 对门铃的物理地址没有唯一性要求。 也就是说,KMD 可以选择与多个逻辑门铃/硬件队列共享相同的物理地址,具体取决于硬件实现。 例如,某些硬件可能选择将相同的物理地址分配给单个硬件上下文的所有硬件队列。 甚至可能有多个逻辑门铃共享相同的 4KB 物理页,但在页面中使用唯一偏移量。
有关详细信息,请参阅 用户模式工作提交。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 11 版本 24H2 (WDDM 3.2) |
标头 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |