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

另请参阅

DXGKARGCB_SAVEMEMORYFORHOTUPDATE

DXGKRNL_INTERFACE