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 的指针,直到它不再使用。 之后,驱动程序必须通过调用 MmFreePagesFromMdl (pDataMdl) 和 ExFreePool (pDataMdl) 来释放 MDL 页和 MDL 本身。
驱动程序可以使用 MmMapLockedPagesSpecifyCache 或 MmGetSystemAddressForMdlSafe 获取指向缓冲区的 CPU 指针。
下面是如何获取指向缓冲区的 CPU 指针的示例:
pBuffer = MmMapLockedPagesSpecifyCache(
pMdl,
KernelMode,
MmCached,
NULL,
FALSE,
NormalPagePriority | MdlMappingNoExecute);
pBuffer = MmGetSystemAddressForMdlSafe(pMdl, NormalPagePriority | MdlMappingNoExecute);
[in] MetaDataSize
pMetaData 指向的缓冲区中的字节数。
[in] pMetaData
指向与内存块关联的元数据的虚拟内存指针。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 1903 |
标头 | d3dkmddi.h |