KeQueryActiveProcessorCountEx, fonction (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 sont compris entre 0 et 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 de retour
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 qui est disponible pour effectuer le travail de traitement, que le processeur exécute actuellement le travail de traitement ou qu’il soit inactif. Dans certains systèmes, le nombre de processeurs actifs peut rester inchangé du démarrage du système à 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 du système et l’arrêt, mais ce nombre ne diminue jamais.
Une routine associée, KeQueryActiveProcessorCount, retourne un nombre de processeurs actifs, mais cette routine, contrairement à KeQueryActiveProcessorCountEx, n’accepte pas un 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 toutes les fonctionnalités orientées groupe dans Windows 7 et 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows 7 et versions ultérieures de Windows. |
plateforme cible | Universel |
d’en-tête | wdm.h (include Ntddk.h, Wdm.h, Ntddk.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | N’importe quel niveau |