Partager via


KeQueryActiveProcessorCountEx, fonction (ntddk.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, elle 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 et l’arrêt du système. 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 actifs, 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 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 ntddk.h (inclure Ntddk.h, Wdm.h, Ntddk.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL N’importe quel niveau

Voir aussi

KeGetProcessorNumberFromIndex

KeQueryActiveProcessorCount