Funzione KeQueryActiveProcessorCount (ntddk.h)

La routine KeQueryActiveProcessorCount restituisce il numero di processori attualmente attivi.

Sintassi

ULONG KeQueryActiveProcessorCount(
  [out, optional] PKAFFINITY ActiveProcessors
);

Parametri

[out, optional] ActiveProcessors

Puntatore a una variabile tipizzata KAFFINITY in cui la routine scrive una maschera di bit che rappresenta il set di processori attualmente attivi. In un ambiente ad accesso frequente questa maschera può cambiare durante il runtime. Questo parametro è facoltativo e può essere specificato come NULL se il chiamante non richiede la maschera dei processori attivi.

Valore restituito

KeQueryActiveProcessorCount restituisce il numero di processori attualmente attivi.

Commenti

Un driver di dispositivo chiama la routine KeQueryActiveProcessorCount per recuperare il numero di processori attualmente attivi. I driver di dispositivo creati per Windows Vista e versioni successive del sistema operativo Windows non devono usare la variabile kernel KeNumberProcessors a questo scopo.

I chiamanti non possono presupporre che la routine KeQueryActiveProcessorCount esegue il mapping dei processori ai bit nel valore KAFFINITY restituito consecutivamente o che la routine restituirà la stessa maschera di bit ogni volta che viene chiamata.

I chiamanti devono anche tenere presente che il valore restituito da KeQueryActiveProcessorCount può cambiare in fase di esecuzione nelle versioni di Windows che supportano la funzionalità cpu ad accesso frequente.

Se necessario, registrarsi per notificare le modifiche al numero di processori chiamando la routine KeRegisterProcessorChangeCallback .

Per eseguire una query sulla maschera di affinità senza ottenere il numero di processori attivi, usare KeQueryActiveProcessors.

Windows 7 e versioni successive di Windows supportano i gruppi di processori. I driver progettati per gestire le informazioni sui gruppi di processori devono usare la routine KeQueryActiveProcessorCountEx , che specifica un gruppo di processori, anziché KeQueryActiveProcessorCount, che non lo fa. Tuttavia, l'implementazione di KeQueryActiveProcessorCount in Windows 7 e versioni successive di Windows offre la compatibilità per i driver scritti per le versioni precedenti di Windows, che non supportano i gruppi di processori. In questa implementazione KeQueryActiveProcessorCount restituisce il numero di processori logici attivi nel gruppo 0 e scrive una maschera di affinità in *ActiveProcessors che specifica il set di processori logici attivi nel gruppo 0.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive di Windows.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Wdm.h, Ntddk.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualsiasi livello

Vedi anche

KeQueryActiveProcessorCountEx

KeQueryActiveProcessors

KeRegisterProcessorChangeCallback