KeGetCurrentProcessorNumber-Funktion (ntddk.h)

Die KeGetCurrentProcessorNumber-Routine gibt die systemseitig zugewiesene Nummer des aktuellen Prozessors zurück, auf dem der Aufrufer ausgeführt wird.

Syntax

ULONG KeGetCurrentProcessorNumber();

Rückgabewert

KeGetCurrentProcessorNumber gibt einen ULONG-Wert zurück, der den Prozessor darstellt, auf dem der Aufrufer derzeit ausgeführt wird.

Hinweise

KeGetCurrentProcessorNumber kann aufgerufen werden, um die Verwendung von Spinsperren auf SMP-Computern während der Treiberentwicklung zu debuggen. Ein Treiber kann auch KeGetCurrentProcessorNumber aufrufen, wenn er einige Prozessordaten verwaltet und versucht hat, Cachezeilenkonflikte zu reduzieren.

Die Anzahl der Prozessoren auf einem SMP-Computer ist ein nullbasierter Wert.

Windows 7 und höhere Versionen von Windows unterstützen Prozessorgruppen. Treiber, die für die Verarbeitung von Informationen zu Prozessorgruppen konzipiert sind, sollten die KeGetCurrentProcessorNumberEx-Routine verwenden, die eine Prozessorgruppe angibt, anstelle von KeGetCurrentProcessorNumber, was nicht der Fall ist. Die Implementierung von KeGetCurrentProcessorNumber in Windows 7 und höheren Versionen von Windows bietet jedoch Kompatibilität für Treiber, die für frühere Versionen von Windows geschrieben wurden. In dieser Implementierung gibt KeGetCurrentProcessorNumber die gruppenrelative Prozessornummer zurück, wenn der Aufrufer auf einem Prozessor in Gruppe 0 ausgeführt wird, der mit dem Verhalten dieser Routine in früheren Versionen von Windows kompatibel ist, die keine Prozessorgruppen unterstützen. Wenn der Aufrufer auf einem Prozessor in einer anderen Gruppe als Gruppe 0 ausgeführt wird, gibt diese Routine eine Zahl zurück, die kleiner als die Anzahl der Prozessoren in Gruppe 0 ist. Dieses Verhalten stellt sicher, dass der Rückgabewert kleiner als der Rückgabewert der KeQueryActiveProcessorCount-Routine ist.

Wenn der Aufruf von KeGetCurrentProcessorNumber bei IRQL <= APC_LEVEL erfolgt, kann zwischen Anweisungen ein Prozessorwechsel erfolgen. Daher werden Aufrufer von KeGetCurrentProcessorNumber normalerweise mit IRQL >= DISPATCH_LEVEL ausgeführt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Desktop
Kopfzeile ntddk.h (include Ntddk.h)
IRQL Weitere Informationen finden Sie im Abschnitt mit den Hinweisen.
DDI-Complianceregeln Irql_Miscellaneous_Function(ndis)

Weitere Informationen

KeGetCurrentProcessorNumberEx

KeQueryActiveProcessorCount