DXGKDDI_RESTOREIMMUTABLEMIGRATIONDATA función de devolución de llamada (d3dkmddi.h)
El sistema operativo del lado receptor llama a DxgkDdiRestoreImmutableMigrationData para restaurar los 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 a Dxgkrnl en el parámetro de salida MiniportDeviceContext de la función DXGKDDI_ADD_DEVICE .
pArgs
[in] Puntero a una estructura 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).
Comentarios
A diferencia del lado de guardado y envío al que se llama dos veces, se llama a DxgkDdiRestoreImmutableMigrationData 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 realizar un 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 controladores nuevos 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:
- Notifique este problema a través de DxgkCbLogEtwEvent con el identificador GUID_DxgkAzureTriageEvent y detalles específicos sobre lo que no se pudo validar para que el problema se pueda evaluar y corregir.
- Vuelva de 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 más información, consulte Migración en vivo en dispositivos GPU-P.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 11, versión 24H2 (WDDM 3.2) |
Encabezado | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |