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 本身。

驱动程序可以使用 MmMapLockedPagesSpecifyCachemmGetSystemAddressForMdlSafe 获取指向缓冲区的 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