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 miniporte de pantalla proporcionó anteriormente este identificador a Dxgkrnl en el parámetro de salida MiniportDeviceContext 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 es correcta. De lo contrario, devuelve un código NTSTATUS adecuado.
Comentarios
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 información suficiente 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 la nueva 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 bytes DataSize y realiza una segunda llamada con DataSize establecido en el valor devuelto por KMD y Datos que apuntan 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 dispositivos GPU-P.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 11, versión 24H2 (WDDM 3.2) |
Encabezado | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |