DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA回调函数 (d3dkmddi.h)

KMD 的 DxgkDdiSaveImmutableMigrationData 函数保存即将开始的实时迁移的不可变数据。

语法

DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA DxgkddiSaveimmutablemigrationdata;

NTSTATUS DxgkddiSaveimmutablemigrationdata(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA pArgs
)
{...}

参数

hAdapter

[in]与显示适配器关联的上下文块的句柄。 显示微型端口驱动程序以前提供了此句柄,用于在 DXGKDDI_ADD_DEVICE 函数的 MiniportDeviceContext 输出参数中 Dxgkrnl

pArgs

[in/out]指向与调用相关的信息的 DXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA 结构的指针。

返回值

DxgkDdiSaveImmutableMigrationData 如果调用成功,则返回STATUS_SUCCESS。 否则,它将返回适当的 NTSTATUS 代码。

言论

调用 KMD 的 DxgkDdiPrepareLiveMigration 函数后,Dxgkrnl 然后调用DxgkDdiSaveImmutableMigrationData,以收集有关设备在目标端还原的信息。 这一点也是系统验证远程配置的一个机会,因此 DxgkDdiSaveImmutableMigrationData 应打包足够的信息来验证任何可以检测将 VF 移到目标配置的功能的硬件、固件或驱动程序验证数据。

驱动程序应存储有关 VF 的数据,该 VF 在活动状态时,目标 KMD 可用于帮助初始化新的 VF。 此数据不需要包含 vGPU 创建参数,因为这些参数将在较低级别传输,并用于使用普通 DDI 创建 vGPU。 这可以包括与 VF 不可变绑定的所有数据,并且不需要在目标端还原。 数据可以纯粹出于验证目的发送,这是此接口的关键部分。

在经典动态缓冲区模式中调用 DxgkDdiSaveImmutableMigrationData

  • 在第一次调用中,DataSize 设置为 0,数据 为 NULL。 KMD 应 DataSize 更改为存储不可变数据的字节总数。
  • Dxgkrnl 创建一个 DataSize 字节的缓冲区,并进行第二次调用,DataSize 设置为 KMD 返回的值,数据 指向分配的缓冲区。 Dxgkrnl 控制调用后此分配内存的生存期。

DxgkDdiSaveMutableMigrationData 在实时迁移结束时调用,以收集可变数据。

有关详细信息,请参阅 GPU-P 设备上的实时迁移

要求

要求 价值
最低支持的客户端 Windows 11 版本 24H2 (WDDM 3.2)
标头 d3dkmddi.h
IRQL PASSIVE_LEVEL

另请参阅

DXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA

DxgkDdiPrepareLiveMigration

DxgkDdiSaveMutableMigrationData