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 |