структура 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 |