Condividi tramite


funzione PS_AVAILABLE_CPUS_CHANGE_CALLBACK (wdm.h)

La funzione PS_AVAILABLE_CPUS_CHANGE_CALLBACK è una routine di callback chiamata quando il set di CPU disponibili cambia per un processo o il sistema.

Sintassi

VOID PS_AVAILABLE_CPUS_CHANGE_CALLBACK(
                 PVOID Parameter
);

Parametri

Parameter

Valore restituito

Nessuno

Osservazioni:

Questa funzione di callback viene implementata dal driver e viene chiamata dal sistema quando cambia la disponibilità della CPU.

Il callback può essere richiamato in IRQL da PASSIVE_LEVEL a DISPATCH_LEVEL, quindi l'implementazione deve essere in grado di essere eseguita in DISPATCH_LEVEL.

Quando viene richiamato il callback

Il callback viene richiamato quando:

  • Le CPU vengono aggiunte o rimosse dal sistema (scenari hotplug)
  • L'affinità di processo viene modificata (per le registrazioni specifiche del processo)
  • Modifiche alla disponibilità della CPU a livello di sistema (per le registrazioni di sistema)
  • I core CPU passano online o offline
  • I gruppi di processori vengono modificati

Linee guida per l'implementazione

  • Il callback dovrebbe essere completato rapidamente perché può essere chiamato in DISPATCH_LEVEL
  • Evitare operazioni di blocco o l'elaborazione prolungata
  • Usare il parametro SequenceNumber per rilevare e gestire le modifiche in modo efficiente
  • Eseguire una query sulla disponibilità corrente della CPU usando PsQueryProcessAvailableCpus o PsQuerySystemAvailableCpus , se necessario

Requisiti

Requisito Valore
Intestazione wdm.h
IRQL PASSIVE_LEVEL a DISPATCH_LEVEL

Vedere anche

PsRegisterProcessAvailableCpusChangeNotification

PsRegisterSystemAvailableCpusChangeNotification

PsUnregisterAvailableCpusChangeNotification

PsQueryProcessAvailableCpus

PsQuerySystemAvailableCpus