Compartir a través de


estructura de DXGKARG_RESTOREMEMORYFORHOTUPDATE (d3dkmddi.h)

Argumentos usados para restaurar la memoria para la actualización activa del controlador.

Sintaxis

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

Miembros

[in] Flags

Estructura de DXGK_RESTOREMEMORYFORHOTUPDATEFLAGS . Cuando se establece la marca, todos los demás datos de entrada se establecen en NULL. El controlador puede eliminar toda la memoria asignada durante la operación de restauración.

[in] pDataMdl

MDL (lista de descriptores de memoria), que describe las páginas de memoria que se van a restaurar.

Si el controlador devuelve STATUS_SUCCESS de esta función, el controlador asume la propiedad de MDL. El controlador puede mantener el puntero al MDL hasta que ya no se use. Después, el controlador debe liberar las páginas MDL y MDL en sí llamando a MmFreePagesFromMdl(pDataMdl) y ExFreePool(pDataMdl).

El controlador puede usar MmMapLockedPagesSpecifyCache o MmGetSystemAddressForMdlSafe para obtener un puntero de CPU al búfer.

Este es un ejemplo de cómo se obtiene un puntero de CPU al búfer:

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

pBuffer = MmGetSystemAddressForMdlSafe(pMdl, NormalPagePriority | MdlMappingNoExecute);

[in] MetaDataSize

Número de bytes del búfer al que apunta pMetaData .

[in] pMetaData

Puntero de memoria virtual a los metadatos asociados al bloque de memoria.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 1903
Encabezado d3dkmddi.h