Compartilhar via


DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA função de retorno de chamada (d3dkmddi.h)

A função DxgkDdiSaveImmutableMigrationData do KMD salva dados imutáveis para uma migração dinâmica que está prestes a ser iniciada.

Sintaxe

DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA DxgkddiSaveimmutablemigrationdata;

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

Parâmetros

hAdapter

[in] Um identificador para um bloco de contexto associado a um adaptador de exibição. O driver de miniporto de exibição forneceu anteriormente esse identificador para Dxgkrnl no parâmetro de saída MiniportDeviceContext da função DXGKDDI_ADD_DEVICE .

pArgs

[entrada/saída] Ponteiro para uma estrutura DXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA para obter informações relacionadas à chamada.

Retornar valor

DxgkDdiSaveImmutableMigrationData retornará STATUS_SUCCESS se a chamada for bem-sucedida. Caso contrário, ele retornará um código NTSTATUS apropriado.

Comentários

Depois de chamar a função DxgkDdiPrepareLiveMigration do KMD, Dxgkrnl chamaDxgkDdiSaveImmutableMigrationData para coletar informações sobre o dispositivo a ser restaurado no lado de destino. Esse ponto também é uma oportunidade para o sistema validar a configuração do remoto, portanto, DxgkDdiSaveImmutableMigrationData deve empacotar informações suficientes para validar quaisquer dados de validação de hardware, firmware ou driver que possam detectar a capacidade de mover o VF para a configuração de destino.

O driver deve armazenar dados sobre o VF que não serão alterados enquanto ele estiver ativo que o KMD do destino pode usar para ajudar a inicializar o novo VF. Esses dados não precisam incluir os parâmetros de criação de vGPU, pois eles serão transferidos em níveis mais baixos e usados para criar a vGPU usando a DDI normal. Isso pode incluir todos os dados que estão imutavelmente vinculados ao VF e nem todos precisam ser restaurados no lado de destino. Os dados podem ser enviados puramente para fins de validação, o que é uma parte crítica dessa interface.

DxgkDdiSaveImmutableMigrationData é chamado no padrão de buffer dinâmico clássico:

  • Na primeira chamada, DataSize é definido como 0 e Dados como NULL. O KMD deve alterar DataSize para o número total de bytes necessários para armazenar os dados imutáveis.
  • Dxgkrnl cria um buffer de bytes dataSize e faz uma segunda chamada com DataSize definido como o valor retornado por KMD e Dados apontando para o buffer alocado. Dxgkrnl controla o tempo de vida dessa memória alocada após a chamada.

DxgkDdiSaveMutableMigrationData é chamado no final de uma migração dinâmica para coletar dados mutáveis.

Para obter mais informações, consulte Migração dinâmica em dispositivos GPU-P.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 11, versão 24H2 (WDDM 3.2)
Cabeçalho d3dkmddi.h
IRQL PASSIVE_LEVEL

Confira também

DXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA

DxgkDdiPrepareLiveMigration

DxgkDdiSaveMutableMigrationData