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 |