DXGKCB_DISCONNECTDOORBELL回呼函式 (d3dkmddi.h)

重要

某些資訊與發行前版本產品有關,在正式發行前可能會大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。

KMD 會呼叫 DxgkCbDisconnectDoorbell ,通知 Dxgkrnl KMD 必須中斷先前連線門鈴與硬體佇列的連線。

語法

DXGKCB_DISCONNECTDOORBELL DxgkcbDisconnectdoorbell;

NTSTATUS DxgkcbDisconnectdoorbell(
  INOUT_PDXGKARGCB_DISCONNECTDOORBELL pArgs
)
{...}

參數

pArgs

[in]描述中斷聯機之門鈴的 DXGKARGCB_DISCONNECTDOORBELL 結構的指標。

傳回值

DxgkCbDisconnectDoorbell 如果 Dxgkrnl 找不到 hHwQueue 的相關 hDoorbell,或 DisconnectReason 不是其中一個D3DDDI_DOORBELLSTATUS_DISCONNECTED_XXX 值,則會傳回STATUS_INVALID_PARAMETER。 在所有其他情況下,即使門鈴已中斷連線,此函式仍會成功。

備註

KMD 會呼叫此函式,以在需要中斷門鈴連線時通知 Dxgkrnl 。 KMD 應該考慮只有在從這個回呼傳回之後,才會中斷連線的實體門鈴位址。

Dxgkrnl 會取消對應虛擬位址,並將門鈴標示為已中斷連線。 具體而言, Dxgkrnl 會執行下列步驟來中斷門鈴的連線:

  • 將使用者模式 DoorbellCpuVirtualAddress 旋轉至虛擬頁面,讓 UMD 無法再寫入實體門鈴位置。
  • DisconnectReason 寫入 DoorbellStatusCpuVirtualAddress ,讓 UMD 知道門鈴已中斷連線,以及原因。

如需詳細資訊,請參閱 使用者模式工作提交

規格需求

需求
最低支援的用戶端 Windows 11 版本 24H2 (WDDM 3.2)
標頭 d3dkmddi.h
IRQL PASSIVE_LEVEL

另請參閱

DXGKARGCB_DISCONNECTDOORBELL

DxgkDdiConnectDoorbell