Compartir a través de


DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA función de devolución de llamada (d3dkmddi.h)

La función DxgkDdiSaveImmutableMigrationData de KMD guarda datos inmutables para una migración en vivo que está a punto de iniciarse.

Sintaxis

DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA DxgkddiSaveimmutablemigrationdata;

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

Parámetros

hAdapter

[in] Identificador de un bloque de contexto asociado a un adaptador de pantalla. El controlador de minipuerto de pantalla proporcionó anteriormente este identificador para Dxgkrnl en el MiniportDeviceContext parámetro de salida de la función DXGKDDI_ADD_DEVICE.

pArgs

[in/out] Puntero a una estructura de DXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA para obtener información relacionada con la llamada.

Valor devuelto

DxgkDdiSaveImmutableMigrationData devuelve STATUS_SUCCESS si la llamada se realiza correctamente. De lo contrario, devuelve un código NTSTATUS adecuado.

Observaciones

Después de llamar a la función DxgkDdiPrepareLiveMigration de KMD, dxgkrnl llama aDxgkDdiSaveImmutableMigrationData para recopilar información sobre el dispositivo para restaurar en el lado de destino. Este punto también es una oportunidad para que el sistema valide la configuración del remoto, por lo que DxgkDdiSaveImmutableMigrationData debe empaquetar suficiente información para validar los datos de validación de hardware, firmware o controlador que pueden detectar la capacidad de mover el VF a la configuración de destino.

El controlador debe almacenar datos sobre el VF que no cambiará mientras esté activo que el KMD del destino puede usar para ayudar a inicializar el nuevo VF. Estos datos no necesitan incluir los parámetros de creación de vGPU, ya que se transferirán en niveles inferiores y se usarán para crear la vGPU mediante la DDI normal. Esto puede incluir todos los datos que están inmutablemente vinculados al VF y no es necesario restaurarlos en el lado de destino. Los datos se pueden enviar exclusivamente con fines de validación, que es una parte fundamental de esta interfaz.

dxgkDdiSaveImmutableMigrationData se llama en el patrón de búfer dinámico clásico:

  • En la primera llamada, DataSize se establece en 0 y Data en NULL. KMD debe cambiar DataSize al número total de bytes que necesita para almacenar los datos inmutables.
  • Dxgkrnl crea un búfer de DataSize bytes y realiza una segunda llamada con DataSize establecido en el valor devuelto por KMD y Data apuntando al búfer asignado. Dxgkrnl controla la duración de esta memoria asignada después de la llamada.

dxgkDdiSaveMutableMigrationData se llama al final de una migración en vivo para recopilar datos mutables.

Para obtener más información, consulte migración en vivo en GPU-P dispositivos.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 11, versión 24H2 (WDDM 3.2)
encabezado de d3dkmddi.h
irQL PASSIVE_LEVEL

Consulte también

DXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA

DxgkDdiPrepareLiveMigration

dxgkDdiSaveMutableMigrationData