Condividi tramite


Funzione KeQueryActiveProcessorCountEx (ntddk.h)

La routine KeQueryActiveProcessorCountEx restituisce il numero di processori logici attivi in un gruppo specificato in un sistema multiprocessore o nell'intero sistema.

Sintassi

ULONG KeQueryActiveProcessorCountEx(
  [in] USHORT GroupNumber
);

Parametri

[in] GroupNumber

Numero del gruppo. Se un sistema multiprocessore contiene n gruppi, i numeri di gruppo validi sono compresi tra 0 e n-1. Per contare tutti i processori attivi in tutti i gruppi del sistema, impostare questo parametro su ALL_PROCESSOR_GROUPS, definito nei file di intestazione Winnt.h e Ntdef.h.

Valore restituito

KeQueryActiveProcessorCountEx restituisce il numero di processori logici attivi nel gruppo. Se GroupNumber non è un numero di gruppo valido e non è ALL_PROCESSOR_GROUPS, restituisce zero.

Commenti

Un processore logico attivo è un processore logico che Windows ha avviato e aggiunto a un sistema multiprocessore. Il termine processore attivo si applica a un processore disponibile per l'esecuzione del lavoro di elaborazione, indipendentemente dal fatto che il processore stia eseguendo il lavoro di elaborazione o sia inattiva. In alcuni sistemi, il numero di processori attivi potrebbe rimanere invariato dall'avvio del sistema all'arresto. In altri sistemi, Windows potrebbe aggiungere dinamicamente processori attivi mentre il sistema è in esecuzione. Windows non rimuove mai i processori attivi da un sistema. Di conseguenza, il numero di processori attivi in un sistema multiprocessore può aumentare tra l'avvio del sistema e l'arresto, ma questo numero non diminuisce mai.

Una routine correlata, KeQueryActiveProcessorCount, restituisce un conteggio del processore attivo, ma questa routine, diversamente da KeQueryActiveProcessorCountEx, non accetta un numero di gruppo come parametro di input. In Windows 7 e versioni successive del sistema operativo Windows , KeQueryActiveProcessorCount restituisce il conteggio del processore attivo nel gruppo 0, compatibile con il comportamento di questa routine nelle versioni precedenti di Windows che non supportano i gruppi. Questo comportamento garantisce che i driver esistenti che chiamano KeQueryActiveProcessorCount e che non usino funzionalità orientate ai gruppi vengano eseguite correttamente nei sistemi multiprocessore con due o più gruppi. Tuttavia, i driver che usano funzionalità orientate ai gruppi in Windows 7 e versioni successive del sistema operativo Windows devono chiamare KeQueryActiveProcessorCountEx anziché KeQueryActiveProcessorCount.

Per un esempio di codice che usa KeQueryActiveProcessorCountEx, vedere KeGetProcessorNumberFromIndex.

Requisiti

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

Vedi anche

KeGetProcessorNumberFromIndex

KeQueryActiveProcessorCount