D3DKMTConnectDoorbell 函式 (d3dkmthk.h)

重要

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

D3DKMTConnectDoorbell 會 (連線,或將先前 建立的門鈴 重新連線到硬體佇列) 。

語法

NTSTATUS D3DKMTConnectDoorbell(
  D3DKMT_CONNECT_DOORBELL *unnamedParam1
);

參數

unnamedParam1

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

傳回值

當OS成功將門鈴連線到硬體佇列時,D3DKMTConnectDoorbell 會傳回STATUS_SUCCESS,UMD 可以使用此門鈴進行工作提交。 一般而言,此呼叫不應該失敗;不過,失敗碼會來自 GPU 遺失或停止無法復原的案例種類。

備註

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

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

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

當UMD呼叫 D3DKMTConnectDoorbell 以將指派給硬體佇列的門鈴連線時,OS 會對 KMD 進行對應的 DxgkDdiConnectDoorbell 呼叫,讓 KMD 可以找到實體門鈴、將它指派給此硬體佇列,以及建立硬體佇列、門鈴、GPU 排程器等所需的聯機。

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

規格需求

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

另請參閱

D3DKMT_CONNECT_DOORBELL

D3DKMTCreateDoorbell

DxgkDdiConnectDoorbell