Compartilhar via


função PS_AVAILABLE_CPUS_CHANGE_CALLBACK (wdm.h)

A função PS_AVAILABLE_CPUS_CHANGE_CALLBACK é uma rotina de retorno de chamada que é chamada quando o conjunto de CPUs disponíveis é alterado para um processo ou para o sistema.

Sintaxe

VOID PS_AVAILABLE_CPUS_CHANGE_CALLBACK(
                 PVOID Parameter
);

Parâmetros

Parameter

Valor de retorno

Nenhum

Observações

Essa função de retorno de chamada é implementada pelo driver e é chamada pelo sistema quando a disponibilidade da CPU é alterada.

O retorno de chamada pode ser invocado no IRQL de PASSIVE_LEVEL para DISPATCH_LEVEL, portanto, a implementação deve ser capaz de ser executada em DISPATCH_LEVEL.

Quando o retorno de chamada é invocado

O retorno de chamada é invocado quando:

  • As CPUs são adicionadas ou removidas do sistema (cenários de hotplug)
  • A afinidade do processo é modificada (para registros específicos do processo)
  • Alterações de disponibilidade da CPU em todo o sistema (para registros do sistema)
  • Os núcleos de CPU ficam online ou offline
  • Os grupos de processadores são modificados

Diretrizes de implementação

  • O retorno de chamada deve ser concluído rapidamente, pois pode ser chamado em DISPATCH_LEVEL
  • Evitar operações de bloqueio ou processamento longo
  • Usar o parâmetro SequenceNumber para detectar e manipular as alterações com eficiência
  • Consultar a disponibilidade atual da CPU usando PsQueryProcessAvailableCpus ou PsQuerySystemAvailableCpus , se necessário

Requisitos

Requisito Valor
cabeçalho wdm.h
IRQL PASSIVE_LEVEL to DISPATCH_LEVEL

Consulte também

PsRegisterProcessAvailableCpusChangeNotification

PsRegisterSystemAvailableCpusChangeNotification

PsUnregisterAvailableCpusChangeNotification

PsQueryProcessAvailableCpus

PsQuerySystemAvailableCpus