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 |