DXGKDDI_DISCONNECTDOORBELL回调函数 (d3dkmddi.h)
重要
某些信息与预发行产品相关,在商业发布之前,该产品可能会进行实质性修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
DxgkDdiDisconnectDoorbell 函数断开以前连接的门铃与硬件队列的连接。
语法
DXGKDDI_DISCONNECTDOORBELL DxgkddiDisconnectdoorbell;
NTSTATUS DxgkddiDisconnectdoorbell(
INOUT_PDXGKARG_DISCONNECTDOORBELL pArgs
)
{...}
参数
pArgs
[in/out]指向描述要断开连接的门铃 的DXGKARG_DISCONNECTDOORBELL 结构的指针。
返回值
DxgkDdiDisconnectDoorbell 必须成功并返回STATUS_SUCCESS。
注解
OS 调用 DxgkDdiDisconnectDoorbell 来取消映射分配给此门铃的物理门铃位置。 KMD 应断开硬件队列、门铃物理地址和引擎等的连接。物理门铃位置可以分配给其他一些逻辑门铃对象。
KMD 不应销毁或释放与 hDoorbell 关联的任何其他对象,因为门铃对象不会被销毁,并且可以在以后重新连接。
从此 DDI 调用返回时, Dxgkrnl 执行以下步骤来断开门铃的连接:
- 将用户模式 DoorbellCpuVirtualAddress 旋转到虚拟页面,以便 UMD 无法再写入物理门铃位置。
- 将D3DDDI_DOORBELL_STATUS_DISCONNECTED_RETRY写入 DoorbellStatusCpuVirtualAddress,以便 UMD 知道门铃已断开连接。
有关详细信息,请参阅 用户模式工作提交。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 11,版本 24H2 (WDDM 3.2) |
标头 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |