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.
Hinweise
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 für die Ausführung von Verarbeitungsvorgängen verfügbar ist, 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 fügt Windows während der Systemausführung möglicherweise dynamisch aktive Prozessoren hinzu. Windows entfernt nie aktive Prozessoren aus einem System. Daher kann die Anzahl der aktiven Prozessoren in einem Multiprozessorsystem zwischen Systemstart und -herunterfahren zunehmen, 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 Anzahl der aktiven Prozessoren 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 | wdm.h (include Ntddk.h, Wdm.h, Ntddk.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Beliebige Ebene |