DXGKCB_SAVEMEMORYFORHOTUPDATE回调函数 (d3dkmddi.h)
内核模式显示微型端口驱动程序可以调用 DXGKCB_SAVEMEMORYFORHOTUPDATE 来保存适配器内存以支持驱动程序热更新。
语法
DXGKCB_SAVEMEMORYFORHOTUPDATE DxgkcbSavememoryforhotupdate;
NTSTATUS DxgkcbSavememoryforhotupdate(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARGCB_SAVEMEMORYFORHOTUPDATE pArgs
)
{...}
参数
[in] hAdapter
传递给 DxgkDdiStartDevice 的 DXGK 适配器的句柄。
[in] pArgs
指向包含此回调参数 的 DXGKARGCB_SAVEMEMORYFORHOTUPDATE 结构的指针。
返回值
如果操作成功,DXGKCB_SAVEMEMORYFORHOTUPDATE返回STATUS_SUCCESS;否则,它将从 Ntstatus.h 返回错误代码。
注解
每次调用 DXGKCB_SAVEMEMORYFORHOTUPDATE 都会保存一个物理内存页块,以及驱动程序要与内存块关联的元数据(可选)。 还原页面后,驱动程序将为每个已保存的内存块以及元数据获取单独的调用。
为方便起见,回调提供了 3 个选项来保存物理内存:
- 作为连续物理内存范围的数组 (pDataMemoryRanges)
- 作为 MDL (pDataMdl)
- 作为虚拟内存缓冲区 (pData)
指向 pDataMemoryRanges、pDataMdl 或 pData) 的数据 (一个 (和只有一) 指针不能为 NULL。
DXGKCB_XXX 函数由 Dxgkrnl 实现。 若要使用此回调函数,请设置 DXGKARGCB_SAVEMEMORYFORHOTUPDATE 的相应成员,然后通过 DXGKRNL_INTERFACE调用 DxgkCbSaveMemoryForHotUptUpdate。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10版本 1903 (WDDM 2.6) |
标头 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |