KeQueryActiveProcessorCountEx-Funktion (ntddk.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 die gültigen 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.

Hinweise

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

Eine verwandte Routine, KeQueryActiveProcessorCount, gibt eine aktive Prozessoranzahl zurück, aber diese Routine akzeptiert im Gegensatz zu KeQueryActiveProcessorCountEx 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, in Multiprozessorsystemen mit zwei oder mehr Gruppen ordnungsgemäß ausgeführt werden. Treiber, die gruppenorientierte Features in Windows 7 und höheren Versionen des Windows-Betriebssystems verwenden, sollten jedoch KeQueryActiveProcessorCountEx anstelle von KeQueryActiveProcessorCount aufrufen.

Ein Codebeispiel, das KeQueryActiveProcessorCountEx verwendet, finden Sie unter KeGetProcessorNumberFromIndex.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows 7 und späteren Windows-Versionen.
Zielplattform Universell
Header ntddk.h (include Ntddk.h, Wdm.h, Ntddk.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Beliebige Ebene

Weitere Informationen

KeGetProcessorNumberFromIndex

KeQueryActiveProcessorCount