DXGKDDI_RESTOREIMMUTABLEMIGRATIONDATA fungsi panggilan balik (d3dkmddi.h)
OS sisi penerima memanggil DxgkDdiRestoreImmutableMigrationData untuk memulihkan data yang tidak dapat diubah yang disimpan oleh driver sisi pengirim dalam panggilan sebelumnya ke DxgkDdiSaveImmutableMigrationData.
Sintaks
DXGKDDI_RESTOREIMMUTABLEMIGRATIONDATA DxgkddiRestoreimmutablemigrationdata;
NTSTATUS DxgkddiRestoreimmutablemigrationdata(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_GPUP_RESTORE_IMMUTABLE_MIGRATION_DATA pArgs
)
{...}
Parameter
hAdapter
[in] Handel ke blok konteks yang terkait dengan adaptor tampilan. Driver miniport tampilan sebelumnya menyediakan handel ini ke Dxgkrnl dalam parameter output MiniportDeviceContext dari fungsi DXGKDDI_ADD_DEVICE .
pArgs
[in] Penunjuk ke struktur DXGKARG_GPUP_RESTORE_IMMUTABLE_MIGRATION_DATA yang berisi informasi yang diperlukan untuk memulihkan data yang tidak dapat diubah.
Menampilkan nilai
DxgkDdiRestoreImmutableMigrationData mengembalikan STATUS_SUCCESS jika panggilan berhasil. Jika tidak, kode NTSTATUS akan menampilkan kode NTSTATUS yang sesuai seperti kode kesalahan STATUS_OBJECT_TYPE_MISMATCH (lihat Keterangan).
Keterangan
Tidak seperti sisi simpan/kirim yang dipanggil dua kali, DxgkDdiRestoreImmutableMigrationData hanya dipanggil sekali karena memiliki semua data yang diperlukan untuk menyajikan buffer data lengkap ke SISI penerima KMD. Driver harus mengambil data dan menerapkannya ke VF yang sedang dibangun, serta pelacakan apa pun untuk itu, dan itu harus memvalidasi invarian data yang diperlukan untuk pemulihan yang berhasil.
Buffer adalah konten yang diisi di sisi sumber di DxgkDdiSaveImmutableMigrationData, sehingga KMD harus melacak data tersebut dalam jenis umum. Juga harus ada skema penerapan versi yang diterapkan dalam data konten jika data mungkin berpotensi perlu berubah dengan driver baru, dan skema ini harus menjadi bagian dari pemeriksaan versi yang dilakukan pada target.
Jika data menunjukkan bahwa sistem target tidak dikonfigurasi dengan benar agar VF dimigrasikan dari sumbernya, KMD harus melakukan hal berikut:
- Laporkan masalah ini melalui DxgkCbLogEtwEvent dengan pengidentifikasi GUID_DxgkAzureTriageEvent dan detail spesifik tentang validasi yang gagal sehingga masalah dapat di-triase dan diperbaiki.
- Kembali dari panggilan DDI ini dengan kesalahan STATUS_OBJECT_TYPE_MISMATCH.
DxgkDdiRestoreImmutableMigrationData hanya boleh dipanggil untuk VF yang saat ini dijeda.
Untuk informasi selengkapnya, lihat Migrasi langsung di perangkat GPU-P.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 11, versi 24H2 (WDDM 3.2) |
Header | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |