Freigeben über


DXGKARG_RESTOREMEMORYFORHOTUPDATE Struktur (d3dkmddi.h)

Argumente, die zum Wiederherstellen des Arbeitsspeichers für das Hot Update des Treibers verwendet werden.

Syntax

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

Angehörige

[in] Flags

Eine DXGK_RESTOREMEMORYFORHOTUPDATEFLAGS Struktur. Wenn das Kennzeichen festgelegt ist, werden alle anderen Eingabedaten auf NULL festgelegt. Der Treiber kann den gesamten Speicher löschen, der während des Wiederherstellungsvorgangs zugewiesen wird.

[in] pDataMdl

Die MDL (Speicherbeschreibungsliste), die die zu wiederherstellenden 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 freigeben, indem MmFreePagesFromMdl(pDataMdl) und ExFreePool(pDataMdl)aufgerufen wird.

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 abrufen:

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
mindestens unterstützte Client- Windows 10, Version 1903
Header- d3dkmddi.h