Condividi tramite


DXGKARG_RESTOREMEMORYFORHOTUPDATE struttura (d3dkmddi.h)

Argomenti usati per ripristinare la memoria per l'aggiornamento frequente del driver.

Sintassi

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

Members

[in] Flags

Struttura DXGK_RESTOREMEMORYFORHOTUPDATEFLAGS . Quando il flag è impostato, tutti gli altri dati di input sono impostati su NULL. Il driver può eliminare tutta la memoria allocata durante l'operazione di ripristino.

[in] pDataMdl

L'elenco MDL (descrittore di memoria), che descrive le pagine di memoria da ripristinare.

Se il driver restituisce STATUS_SUCCESS da questa funzione, il driver presuppone la proprietà dell'MDL. Il driver può mantenere il puntatore al MDL fino a quando non viene più usato. Dopo che il driver deve liberare le pagine MDL e il MDL stesso chiamando MmFreePagesFromMdl(pDataMdl) e ExFreePool(pDataMdl).

Il driver può usare MmMapLockedPagesSpecifyCache o MmGetSystemAddressForMdlSafe per ottenere un puntatore della CPU al buffer.

Ecco un esempio di come ottenere un puntatore della CPU al buffer:

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

pBuffer = MmGetSystemAddressForMdlSafe(pMdl, NormalPagePriority | MdlMappingNoExecute);

[in] MetaDataSize

Numero di byte nel buffer a cui pMetaData punta.

[in] pMetaData

Puntatore alla memoria virtuale ai metadati associati al blocco di memoria.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1903
Intestazione d3dkmddi.h