Bagikan melalui


DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA fungsi panggilan balik (d3dkmddi.h)

Fungsi DxgkDdiSaveImmutableMigrationData KMD menyimpan data yang tidak dapat diubah untuk migrasi langsung yang akan dimulai.

Sintaks

DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA DxgkddiSaveimmutablemigrationdata;

NTSTATUS DxgkddiSaveimmutablemigrationdata(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARG_GPUP_SAVE_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

[masuk/keluar] Arahkan ke struktur DXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA untuk informasi yang terkait dengan panggilan.

Menampilkan nilai

DxgkDdiSaveImmutableMigrationData mengembalikan STATUS_SUCCESS jika panggilan berhasil. Jika tidak, ia mengembalikan kode NTSTATUS yang sesuai.

Keterangan

Setelah memanggil fungsi DxgkDdiPrepareLiveMigration KMD, Dxgkrnl kemudian memanggilDxgkDdiSaveImmutableMigrationData untuk mengumpulkan informasi tentang perangkat untuk dipulihkan di sisi target. Titik ini juga merupakan kesempatan bagi sistem untuk memvalidasi konfigurasi remote, sehingga DxgkDdiSaveImmutableMigrationData harus mengemas informasi yang cukup untuk memvalidasi perangkat keras, firmware, atau data validasi driver apa pun yang dapat mendeteksi kemampuan untuk memindahkan VF ke konfigurasi target.

Driver harus menyimpan data tentang VF yang tidak akan berubah saat masih hidup yang dapat digunakan KMD target untuk membantu menginisialisasi VF baru. Data ini tidak perlu menyertakan parameter pembuatan vGPU, karena akan ditransfer dalam tingkat yang lebih rendah dan digunakan untuk membuat vGPU menggunakan DDI normal. Ini dapat mencakup semua data yang tidak terikat dengan VF, dan tidak semua perlu dipulihkan di sisi target. Data dapat dikirim murni untuk tujuan validasi, yang merupakan bagian penting dari antarmuka ini.

DxgkDdiSaveImmutableMigrationData dipanggil dalam pola buffer dinamis klasik:

  • Pada panggilan pertama, DataSize diatur ke 0 dan Data ke NULL. KMD harus mengubah DataSize ke jumlah total byte yang diperlukan untuk menyimpan data yang tidak dapat diubah.
  • Dxgkrnl membuat buffer byte DataSize dan melakukan panggilan kedua dengan DataSize diatur ke nilai yang dikembalikan oleh KMD dan Data yang menunjuk ke buffer yang dialokasikan. Dxgkrnl mengontrol masa pakai memori yang dialokasikan ini setelah panggilan.

DxgkDdiSaveMutableMigrationData dipanggil di akhir migrasi langsung untuk mengumpulkan data yang dapat diubah.

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

Lihat juga

DXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA

DxgkDdiPrepareLiveMigration

DxgkDdiSaveMutableMigrationData