Freigeben über


DXGKARG_RESTOREMEMORYFORHOTUPDATE-Struktur (d3dkmddi.h)

Argumente, die zum Wiederherstellen des Arbeitsspeichers für treiber hot update verwendet werden.

Syntax

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

Member

[in] Flags

Eine DXGK_RESTOREMEMORYFORHOTUPDATEFLAGS-Struktur . Wenn das Flag festgelegt ist, werden alle anderen Eingabedaten auf NULL festgelegt. Der Treiber kann den gesamten Arbeitsspeicher löschen, der während des Wiederherstellungsvorgangs zugeordnet ist.

[in] pDataMdl

Die MDL (Speicherdeskriptorliste), die die wiederherzustellenden Speicherseiten beschreibt.

Wenn der Treiber STATUS_SUCCESS von dieser Funktion zurückgibt, übernimmt der Treiber den Besitz der MDL. Der Treiber kann den Zeiger auf die MDL beibehalten, bis er nicht mehr verwendet wird. Danach muss der Treiber die MDL-Seiten und die MDL selbst durch Aufrufen von MmFreePagesFromMdl(pDataMdl) und ExFreePool(pDataMdl) freigeben.

Der Treiber kann MmMapLockedPagesSpecifyCache oder MmGetSystemAddressForMdlSafe verwenden, um einen CPU-Zeiger auf den Puffer abzurufen.

Hier ist ein Beispiel dafür, wie Sie einen CPU-Zeiger auf den Puffer erhalten:

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

pBuffer = MmGetSystemAddressForMdlSafe(pMdl, NormalPagePriority | MdlMappingNoExecute);

[in] MetaDataSize

Die Anzahl der Bytes im Puffer, auf die pMetaData verweist.

[in] pMetaData

Ein virtueller Speicherzeiger auf die Metadaten, die dem Speicherblock zugeordnet sind.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1903
Kopfzeile d3dkmddi.h