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 |