共用方式為


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 應該執行下列動作:

  1. 透過 DxgkCbLogEtwEvent 回報此問題,其中包含GUID_DxgkAzureTriageEvent識別碼,以及失敗驗證的特定詳細數據,以便將問題分級並更正。
  2. 從這個 DDI 呼叫傳回,並出現STATUS_OBJECT_TYPE_MISMATCH錯誤。

DxgkDdiRestoreImmutableMigrationData 應該只針對目前暫停的 VF 呼叫。

如需詳細資訊,請參閱 GPU-P 裝置上的即時移轉

規格需求

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

另請參閱

DXGKARG_GPUP_RESTORE_IMMUTABLE_MIGRATION_DATA

DxgkDdiSaveImmutableMigrationData