Funzione KeGetCurrentProcessorNumber (ntddk.h)

La routine KeGetCurrentProcessorNumber restituisce il numero assegnato dal sistema del processore corrente in cui è in esecuzione il chiamante.

Sintassi

ULONG KeGetCurrentProcessorNumber();

Valore restituito

KeGetCurrentProcessorNumber restituisce un valore ULONG che rappresenta il processore in cui è attualmente in esecuzione il chiamante.

Commenti

KeGetCurrentProcessorNumber può essere chiamato per eseguire il debug dell'utilizzo del blocco spin nei computer SMP durante lo sviluppo del driver. Un driver potrebbe anche chiamare KeGetCurrentProcessorNumber se ha mantenuto alcuni dati per processore e ha tentato di ridurre la contesa della riga di cache.

Il numero di processori in un computer SMP è un valore in base zero.

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 KeGetCurrentProcessorNumberEx , che specifica un gruppo di processori, anziché KeGetCurrentProcessorNumber, che non lo fa. Tuttavia, l'implementazione di KeGetCurrentProcessorNumber in Windows 7 e versioni successive di Windows offre la compatibilità per i driver scritti per le versioni precedenti di Windows. In questa implementazione KeGetCurrentProcessorNumber restituisce il numero di processore relativo al gruppo se il chiamante è in esecuzione in un processore nel gruppo 0, compatibile con il comportamento di questa routine nelle versioni precedenti di Windows che non supportano i gruppi di processori. Se il chiamante è in esecuzione in un processore in qualsiasi gruppo diverso dal gruppo 0, questa routine restituisce un numero minore del numero di processori nel gruppo 0. Questo comportamento garantisce che il valore restituito sia minore del valore restituito della routine KeQueryActiveProcessorCount .

Se la chiamata a KeGetCurrentProcessorNumber si verifica in IRQL <= APC_LEVEL, può verificarsi un commutatore del processore tra le istruzioni. Di conseguenza, i chiamanti di KeGetCurrentProcessorNumber vengono in genere eseguiti in IRQL >= DISPATCH_LEVEL.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Desktop
Intestazione ntddk.h (include Ntddk.h)
IRQL Vedere la sezione Osservazioni.
Regole di conformità DDI Irql_Miscellaneous_Function(ndis)

Vedi anche

KeGetCurrentProcessorNumberEx

KeQueryActiveProcessorCount