Freigeben über


KeQueryActiveProcessorCountEx-Funktion (wdm.h)

Die KeQueryActiveProcessorCountEx Routine gibt die Anzahl der aktiven logischen Prozessoren in einer angegebenen Gruppe in einem Multiprozessorsystem oder im gesamten System zurück.

Syntax

ULONG KeQueryActiveProcessorCountEx(
  [in] USHORT GroupNumber
);

Parameter

[in] GroupNumber

Die Gruppennummer. Wenn ein Multiprozessorsystem n Gruppen enthält, reichen gültige Gruppennummern von 0 bis n-1. Um alle aktiven Prozessoren in allen Gruppen im System zu zählen, legen Sie diesen Parameter auf ALL_PROCESSOR_GROUPS fest, der in den Headerdateien Winnt.h und Ntdef.h definiert ist.

Rückgabewert

KeQueryActiveProcessorCountEx gibt die Anzahl der aktiven logischen Prozessoren in der Gruppe zurück. Wenn GroupNumber- keine gültige Gruppennummer ist und nicht ALL_PROCESSOR_GROUPS ist, wird Null zurückgegeben.

Bemerkungen

Ein aktiver logischer Prozessor ist ein logischer Prozessor, den Windows gestartet und einem Multiprozessorsystem hinzugefügt hat. Der Begriff "Aktiver Prozessor" gilt für einen Prozessor, der zur Ausführung von Verarbeitungsvorgängen verfügbar ist, unabhängig davon, ob der Prozessor zurzeit Verarbeitungsarbeiten ausführt oder im Leerlauf ist. In einigen Systemen kann die Anzahl der aktiven Prozessoren vom Systemstart bis zum Herunterfahren unverändert bleiben. In anderen Systemen kann Windows aktive Prozessoren dynamisch hinzufügen, während das System ausgeführt wird. Windows entfernt nie aktive Prozessoren aus einem System. So kann die Anzahl der aktiven Prozessoren in einem Multiprozessorsystem zwischen Systemstart und Herunterfahren steigen, aber diese Zahl nimmt nie ab.

Eine verwandte Routine, KeQueryActiveProcessorCount, gibt eine aktive Prozessoranzahl zurück, aber diese Routine, im Gegensatz zu KeQueryActiveProcessorCountEx, akzeptiert keine Gruppennummer als Eingabeparameter. In Windows 7 und höheren Versionen des Windows-Betriebssystems gibt KeQueryActiveProcessorCount die aktive Prozessoranzahl in Gruppe 0 zurück, die mit dem Verhalten dieser Routine in früheren Versionen von Windows kompatibel ist, die keine Gruppen unterstützen. Dieses Verhalten stellt sicher, dass vorhandene Treiber, die KeQueryActiveProcessorCount- aufrufen und keine gruppenorientierten Features verwenden, ordnungsgemäß in Multiprozessorsystemen mit mindestens zwei Gruppen ausgeführt werden. Treiber, die gruppenorientierte Features in Windows 7 und höheren Versionen des Windows-Betriebssystems verwenden, sollten jedoch KeQueryActiveProcessorCountEx- anstelle von KeQueryActiveProcessorCountaufrufen.

Ein Codebeispiel, das KeQueryActiveProcessorCountExverwendet, finden Sie unter KeGetProcessorNumberFromIndex.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows 7 und höheren Versionen von Windows.
Zielplattform- Universal
Header- wdm.h (include Ntddk.h, Wdm.h, Ntddk.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- Beliebige Ebene

Siehe auch

KeGetProcessorNumberFromIndex-

KeQueryActiveProcessorCount