DXGKDDI_RESTOREIMMUTABLEMIGRATIONDATA回呼函式 (d3dkmddi.h)
接收端OS會呼叫 DxgkDdiRestoreImmutableMigrationData ,以還原傳送端驅動程式在先前呼叫 DxgkDdiSaveImmutableMigrationData 中所儲存的不可變數據。
語法
DXGKDDI_RESTOREIMMUTABLEMIGRATIONDATA DxgkddiRestoreimmutablemigrationdata;
NTSTATUS DxgkddiRestoreimmutablemigrationdata(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_GPUP_RESTORE_IMMUTABLE_MIGRATION_DATA pArgs
)
{...}
參數
hAdapter
[in]與顯示配接器相關聯的內容區塊句柄。 顯示迷你埠驅動程式先前在 DXGKDDI_ADD_DEVICE 函式的MiniportDeviceContext 輸出參數中,將此句柄提供給 Dxgkrnl。
pArgs
[in] DXGKARG_GPUP_RESTORE_IMMUTABLE_MIGRATION_DATA 結構的指標,其中包含還原不可變數據所需的資訊。
傳回值
如果呼叫成功,DxgkDdiRestoreImmutableMigrationData 會傳回STATUS_SUCCESS。 Otherwise, it returns an appropriate NTSTATUS code such as the STATUS_OBJECT_TYPE_MISMATCH error code (see Remarks).
備註
不同於呼叫兩次的儲存/傳送端, DxgkDdiRestoreImmutableMigrationData 只會呼叫一次,因為它具有向接收端 KMD 呈現完整數據緩衝區所需的所有數據。 驅動程式應該取得數據,並將其套用至所建構的 VF,以及它的任何追蹤,而且應該驗證成功還原所需的數據變異。
緩衝區是在 DxgkDdiSaveImmutableMigrationData 中填入來源端的內容,因此 KMD 應該追蹤通用類型中的數據。 如果數據可能需要使用新的驅動程式來變更,也應該在內容數據中實作版本設定配置,而且此配置應該是在目標上完成的版本檢查的一部分。
如果資料指出目標系統未正確設定為從來源移轉 VF,KMD 應該執行下列動作:
- 透過 DxgkCbLogEtwEvent 回報此問題,其中包含GUID_DxgkAzureTriageEvent識別碼,以及失敗驗證的特定詳細數據,以便將問題分級並更正。
- 從這個 DDI 呼叫傳回,並出現STATUS_OBJECT_TYPE_MISMATCH錯誤。
DxgkDdiRestoreImmutableMigrationData 應該只針對目前暫停的 VF 呼叫。
如需詳細資訊,請參閱 GPU-P 裝置上的即時移轉。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 11 版本 24H2 (WDDM 3.2) |
標頭 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |