Condividi tramite


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.

Osservazioni

è possibile chiamare KeGetCurrentProcessorNumber per eseguire il debug dell'utilizzo del blocco spin nei computer SMP durante lo sviluppo dei 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 del 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, tra le istruzioni può verificarsi un commutatore del processore. Di conseguenza, i chiamanti di KeGetCurrentProcessorNumber in genere vengono eseguiti in IRQL >= DISPATCH_LEVEL.

Fabbisogno

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)

Vedere anche

KeGetCurrentProcessorNumberEx

KeQueryActiveProcessorCount