Condividi tramite


Funzione KeGetCurrentProcessorNumberEx (ntddk.h)

La routine KeGetCurrentProcessorNumberEx ottiene il numero di processore del processore logico in esecuzione dal chiamante.

Sintassi

ULONG KeGetCurrentProcessorNumberEx(
  [out, optional] PPROCESSOR_NUMBER ProcNumber
);

Parametri

[out, optional] ProcNumber

Puntatore a un buffer allocato dal chiamante in cui la routine scrive una struttura PROCESSOR_NUMBER che identifica il processore logico corrente. Questa struttura contiene il numero di gruppo e il numero di processore relativo al gruppo. È possibile impostare questo parametro su NULL se non sono necessarie queste informazioni.

Valore restituito

KeGetCurrentProcessorNumberEx restituisce l'indice del processore a livello di sistema del processore logico in esecuzione dal chiamante.

Commenti

Se ProcNumber non è NULL, il buffer a cui punta ProcNumber deve essere sufficiente per contenere una struttura PROCESSOR_NUMBER. Al contrario di questa struttura, che contiene un numero di gruppo e un numero di processore relativo al gruppo, il valore restituito è un indice del processore che identifica il processore nell'intero sistema multiprocessore.

Ad esempio, se un sistema multiprocessore contiene due gruppi e ogni gruppo contiene 64 processori logici, i numeri di processore in ogni gruppo sono compresi tra 0 e 63, ma gli indici del processore a livello di sistema sono compresi tra 0 e 127.

Una routine correlata , KeGetCurrentProcessorNumber, restituisce il numero di processore corrente, ma questa routine, a differenza di KeGetCurrentProcessorNumberEx, non fornisce un numero di gruppo per il processore. In Windows 7 e versioni successive del sistema operativo Windows , 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. Tuttavia, se il chiamante è in esecuzione su 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 . Driver esistenti che chiamano KeGetCurrentProcessorNumber e che non usano funzionalità orientate al gruppo vengono eseguite correttamente nei sistemi multiprocessore con due o più gruppi. Tuttavia, i driver che usano funzionalità orientate al gruppo in Windows 7 e versioni successive del sistema operativo Windows devono chiamare KeGetCurrentProcessorNumberEx anziché KeGetCurrentProcessorNumber.

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

KeGetCurrentProcessorNumber

KeQueryActiveProcessorCount

PROCESSOR_NUMBER