структура DXGKARG_RESTOREMEMORYFORHOTUPDATE (d3dkmddi.h)

Аргументы, используемые для восстановления памяти для горячего обновления драйвера.

Синтаксис

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

Члены

[in] Flags

Структура DXGK_RESTOREMEMORYFORHOTUPDATEFLAGS . При установке флага для всех остальных входных данных устанавливается значение NULL. Драйвер может удалить всю память, выделенную во время операции восстановления.

[in] pDataMdl

MDL (список дескрипторов памяти), который описывает страницы памяти для восстановления.

Если драйвер возвращает STATUS_SUCCESS из этой функции, драйвер принимает владение MDL. Драйвер может сохранить указатель на MDL, пока он не будет больше использоваться. После этого драйвер должен освободить страницы MDL и сам MDL, вызвав MmFreePagesFromMdl(pDataMdl) и ExFreePool(pDataMdl).

Драйвер может использовать MmMapLockedPagesSpecifyCache или MmGetSystemAddressForMdlSafe для получения указателя ЦП на буфер.

Ниже приведен пример того, как получить указатель ЦП на буфер:

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

pBuffer = MmGetSystemAddressForMdlSafe(pMdl, NormalPagePriority | MdlMappingNoExecute);

[in] MetaDataSize

Количество байтов в буфере, на который указывает pMetaData .

[in] pMetaData

Указатель виртуальной памяти на метаданные, связанные с блоком памяти.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 1903
Верхняя часть d3dkmddi.h