Bagikan melalui


struktur DXGKARG_RESTOREMEMORYFORHOTUPDATE (d3dkmddi.h)

Argumen yang digunakan untuk memulihkan memori untuk pembaruan panas driver.

Sintaks

typedef struct _DXGKARG_RESTOREMEMORYFORHOTUPDATE {
  [in] DXGK_RESTOREMEMORYFORHOTUPDATEFLAGS Flags;
  [in] PMDL                                pDataMdl;
  [in] UINT                                MetaDataSize;
  [in] PVOID                               pMetaData;
} DXGKARG_RESTOREMEMORYFORHOTUPDATE;

Anggota

[in] Flags

Struktur DXGK_RESTOREMEMORYFORHOTUPDATEFLAGS . Saat bendera diatur, semua data input lainnya diatur ke NULL. Driver dapat menghapus semua memori, yang dialokasikan selama operasi pemulihan.

[in] pDataMdl

MDL (daftar deskriptor memori), yang menjelaskan halaman memori yang akan dipulihkan.

Jika driver mengembalikan STATUS_SUCCESS dari fungsi ini, driver mengasumsikan kepemilikan MDL. Driver dapat menyimpan pointer ke MDL sampai tidak lagi digunakan. Setelah itu driver harus membebaskan halaman MDL dan MDL itu sendiri dengan memanggil MmFreePagesFromMdl(pDataMdl) dan ExFreePool(pDataMdl).

Driver dapat menggunakan MmMapLockedPagesSpecifyCache atau MmGetSystemAddressForMdlSafe untuk mendapatkan pointer CPU ke buffer.

Berikut adalah contoh bagaimana Anda akan mendapatkan penunjuk CPU ke buffer:

pBuffer = MmMapLockedPagesSpecifyCache(
    pMdl,
    KernelMode,
    MmCached,
    NULL,
    FALSE,
    NormalPagePriority | MdlMappingNoExecute);

pBuffer = MmGetSystemAddressForMdlSafe(pMdl, NormalPagePriority | MdlMappingNoExecute);

[in] MetaDataSize

Jumlah byte dalam buffer yang dituju pMetaData .

[in] pMetaData

Penunjuk memori virtual ke metadata yang terkait dengan blok memori.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10, versi 1903
Header d3dkmddi.h