共用方式為


D3DKMTConnectDoorbell 函式 (d3dkmthk.h)

重要

某些資訊與發行前版本產品有關,在發行前版本產品可能經過大幅修改。 Microsoft未就此處提供的資訊提供任何明示或默示擔保。

D3DKMTConnectDoorbell 連線到硬體佇列 先前建立的門鈴

語法

NTSTATUS D3DKMTConnectDoorbell(
  D3DKMT_CONNECT_DOORBELL *unnamedParam1
);

參數

unnamedParam1

[in]描述要連線之門鈴的 *D3DKMT_CONNECT_DOORBELL* 結構的指標。

傳回值

D3DKMTConnectDoorbell 當作系統成功將門鈴連線到硬體佇列時傳回STATUS_SUCCESS,而 UMD 可以使用此門鈴提交工作。 此呼叫通常不應該失敗;不過,失敗程式代碼會從 GPU 遺失或停止無法復原的案例類型。

言論

每次 UMD 將新工作提交至硬體佇列並響起門鈴時,都必須讀取 DoorbellStatusCPUVirtualAddress,以檢查門鈴通道是否成功。 失敗時,UMD 必須呼叫 D3DKMTConnectDoorbell 重新連線門鈴,然後再試一次提交。

門鈴可能會因為數個原因而中斷連線:

  • 建立門鈴時,OS 會以「已中斷連線」狀態將其初始化,而且只有在UMD第一次呼叫 D3DKMTConnectDoorbell 時才會連接它。
  • 門鈴在支援專用門鈴型號的硬體上被「受害者化」。。 也就是說,此硬體佇列的實體門鈴已指派給另一個硬體佇列。 此重新指派可能是因為 GPU 上建立的硬體佇列比實體門鈴還多。
  • 門鈴在暫停硬體佇列或關閉 GPU 電源時中斷連線。

當UMD呼叫 D3DKMTConnectDoorbell 以連接指派給硬體佇列的門鈴時,OS 會進行對應的 DxgkDdiConnectDoorbell KMD 呼叫,讓 KMD 可以找到實體門鈴、將其指派給此硬體佇列,並在硬體佇列、門鈴、GPU 排程器之間進行必要的連線。

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

要求

要求 價值
最低支援的用戶端 Windows 11 版本 24H2 (WDDM 3.2)
標頭 d3dkmthk.h

另請參閱

D3DKMT_CONNECT_DOORBELL

D3DKMTCreateDoorbell

DxgkDdiConnectDoorbell