Fonction KeQueryActiveProcessorCountEx (wdm.h)
La routine KeQueryActiveProcessorCountEx retourne le nombre de processeurs logiques actifs dans un groupe spécifié dans un système multiprocesseur ou dans l’ensemble du système.
Syntaxe
ULONG KeQueryActiveProcessorCountEx(
[in] USHORT GroupNumber
);
Paramètres
[in] GroupNumber
Numéro de groupe. Si un système multiprocesseur contient n groupes, les numéros de groupe valides vont de 0 à n-1. Pour compter tous les processeurs actifs dans tous les groupes du système, définissez ce paramètre sur ALL_PROCESSOR_GROUPS, qui est défini dans les fichiers d’en-tête Winnt.h et Ntdef.h.
Valeur retournée
KeQueryActiveProcessorCountEx retourne le nombre de processeurs logiques actifs dans le groupe. Si GroupNumber n’est pas un numéro de groupe valide et n’est pas ALL_PROCESSOR_GROUPS, il retourne zéro.
Remarques
Un processeur logique actif est un processeur logique que Windows a démarré et ajouté à un système multiprocesseur. Le terme processeur actif s’applique à un processeur disponible pour effectuer le travail de traitement, que le processeur effectue actuellement un travail de traitement ou qu’il soit inactif. Dans certains systèmes, le nombre de processeurs actifs peut rester inchangé entre le démarrage du système et l’arrêt. Dans d’autres systèmes, Windows peut ajouter dynamiquement des processeurs actifs pendant l’exécution du système. Windows ne supprime jamais les processeurs actifs d’un système. Ainsi, le nombre de processeurs actifs dans un système multiprocesseur peut augmenter entre le démarrage et l’arrêt du système, mais ce nombre ne diminue jamais.
Une routine associée, KeQueryActiveProcessorCount, retourne un nombre de processeurs actif, mais cette routine, contrairement à KeQueryActiveProcessorCountEx, n’accepte pas de numéro de groupe comme paramètre d’entrée. Dans Windows 7 et versions ultérieures du système d’exploitation Windows, KeQueryActiveProcessorCount retourne le nombre de processeurs actifs dans le groupe 0, qui est compatible avec le comportement de cette routine dans les versions antérieures de Windows qui ne prennent pas en charge les groupes. Ce comportement garantit que les pilotes existants qui appellent KeQueryActiveProcessorCount et qui n’utilisent aucune fonctionnalité orientée groupe s’exécutent correctement dans les systèmes multiprocesseurs qui ont deux groupes ou plus. Toutefois, les pilotes qui utilisent des fonctionnalités orientées groupe dans Windows 7 et les versions ultérieures du système d’exploitation Windows doivent appeler KeQueryActiveProcessorCountEx au lieu de KeQueryActiveProcessorCount.
Pour obtenir un exemple de code qui utilise KeQueryActiveProcessorCountEx, consultez KeGetProcessorNumberFromIndex.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows 7 et versions ultérieures de Windows. |
Plateforme cible | Universal |
En-tête | wdm.h (inclure Ntddk.h, Wdm.h, Ntddk.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | N’importe quel niveau |