Compartir a través de


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

El sistema operativo del lado receptor llama DxgkDdiRestoreImmutableMigrationData para restaurar datos inmutables guardados por el controlador del lado remitente en una llamada anterior a DxgkDdiSaveImmutableMigrationData.

Sintaxis

DXGKDDI_RESTOREIMMUTABLEMIGRATIONDATA DxgkddiRestoreimmutablemigrationdata;

NTSTATUS DxgkddiRestoreimmutablemigrationdata(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_GPUP_RESTORE_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] Puntero a una estructura de DXGKARG_GPUP_RESTORE_IMMUTABLE_MIGRATION_DATA que contiene información necesaria para restaurar los datos inmutables.

Valor devuelto

dxgkDdiRestoreImmutableMigrationData devuelve STATUS_SUCCESS si la llamada se realiza correctamente. De lo contrario, devuelve un código NTSTATUS adecuado, como el código de error STATUS_OBJECT_TYPE_MISMATCH (vea comentarios).

Observaciones

A diferencia del lado de guardado y envío al que se llama dos veces, DxgkDdiRestoreImmutableMigrationData se llama solo una vez porque tiene todos los datos necesarios para presentar un búfer de datos completo al KMD del lado receptor. El controlador debe tomar los datos y aplicarlos al VF que se está construyendo, así como cualquier seguimiento de ellos, y debe validar las invariables de datos necesarias para una restauración correcta.

El búfer es el contenido que se llenó en el lado de origen en DxgkDdiSaveImmutableMigrationData, por lo que KMD debe ser el seguimiento de esos datos en un tipo común. También debe haber un esquema de control de versiones implementado en los datos de contenido si los datos podrían necesitar cambiar con nuevos controladores y este esquema debe formar parte de la comprobación de versiones realizada en el destino.

Si los datos indican que el sistema de destino no está configurado correctamente para que el VF se migre desde el origen, KMD debe hacer lo siguiente:

  1. Notifique este problema a través del DxgkCbLogEtwEvent con el identificador de GUID_DxgkAzureTriageEvent y detalles específicos sobre lo que produjo un error de validación para que el problema se pueda evaluar y corregir.
  2. Vuelva desde esta llamada DDI con el error STATUS_OBJECT_TYPE_MISMATCH.

dxgkDdiRestoreImmutableMigrationData solo se debe llamar a para las máquinas virtuales que están actualmente en pausa.

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_RESTORE_IMMUTABLE_MIGRATION_DATA

DxgkDdiSaveImmutableMigrationData