structure SYSTEM_CPU_SET_INFORMATION (winnt.h)

Cette structure est retournée par GetSystemCpuSetInformation. Il est utilisé pour énumérer les ensembles de processeurs sur le système et déterminer leur état actuel.

Il s’agit d’une structure de taille variable conçue pour une expansion future. Lorsque vous effectuez une itération sur cette structure, utilisez le champ taille pour déterminer le décalage vers la structure suivante.

Syntaxe

typedef struct _SYSTEM_CPU_SET_INFORMATION {
  DWORD                    Size;
  CPU_SET_INFORMATION_TYPE Type;
  union {
    struct {
      DWORD   Id;
      WORD    Group;
      BYTE    LogicalProcessorIndex;
      BYTE    CoreIndex;
      BYTE    LastLevelCacheIndex;
      BYTE    NumaNodeIndex;
      BYTE    EfficiencyClass;
      union {
        BYTE AllFlags;
        struct {
          BYTE Parked : 1;
          BYTE Allocated : 1;
          BYTE AllocatedToTargetProcess : 1;
          BYTE RealTime : 1;
          BYTE ReservedFlags : 4;
        } DUMMYSTRUCTNAME;
      } DUMMYUNIONNAME2;
      union {
        DWORD Reserved;
        BYTE  SchedulingClass;
      };
      DWORD64 AllocationTag;
    } CpuSet;
  } DUMMYUNIONNAME;
} SYSTEM_CPU_SET_INFORMATION, *PSYSTEM_CPU_SET_INFORMATION;

Membres

Size

Il s’agit de la taille, en octets, de cette structure d’informations.

Type

Il s’agit du type d’informations dans la structure. Les applications doivent ignorer toutes les structures avec des types non reconnus.

DUMMYUNIONNAME

DUMMYUNIONNAME.CpuSet

DUMMYUNIONNAME.CpuSet.Id

ID du jeu d’UC spécifié. Cet identificateur peut être utilisé avec SetProcessDefaultCpuSets ou SetThreadSelectedCpuSets lors de la spécification d’une liste de jeux d’UC à affinité.

DUMMYUNIONNAME.CpuSet.Group

Spécifie le groupe de processeurs de l’ensemble de processeurs. Toutes les autres valeurs de la structure CpuSet sont relatives au groupe de processeurs.

DUMMYUNIONNAME.CpuSet.LogicalProcessorIndex

Spécifie l’index relatif de groupe du processeur de base du jeu d’UC. À moins que l’ensemble de processeurs ne soit garé pour des raisons thermiques ou de gestion de l’alimentation ou affecté à une utilisation exclusive à une autre application, les threads s’exécutent sur le processeur de base de l’un de leurs ensembles de processeurs. Les champs Group et LogicalProcessorIndex sont identiques à ceux de la structure PROCESSOR_NUMBER et correspondent aux champs Group et Mask de la structure GROUP_AFFINITY.

DUMMYUNIONNAME.CpuSet.CoreIndex

Valeur relative du groupe indiquant quel « cœur » a le processeur de base de l’ensemble de processeurs. Ce nombre est le même pour tous les ensembles de processeurs du même groupe qui partagent des ressources d’exécution significatives entre eux, tels que différents threads matériels sur un seul cœur qui prend en charge le multithreading simultané.

DUMMYUNIONNAME.CpuSet.LastLevelCacheIndex

Valeur relative de groupe indiquant les ensembles d’UC qui partagent au moins un niveau de cache entre eux. Cette valeur est la même pour tous les ensembles de processeurs d’un groupe qui se trouvent sur des processeurs qui partagent le cache entre eux.

DUMMYUNIONNAME.CpuSet.NumaNodeIndex

Valeur relative du groupe indiquant le nœud NUMA sur lequel se trouve un ensemble de processeurs. Tous les ensembles de processeurs d’un groupe donné qui se trouvent sur le même nœud NUMA auront la même valeur pour ce champ.

DUMMYUNIONNAME.CpuSet.EfficiencyClass

Valeur indiquant l’efficacité énergétique intrinsèque d’un processeur pour les systèmes qui prennent en charge des processeurs hétérogènes (tels qu’ARM big). PETITS systèmes). Les ensembles de processeurs avec des valeurs numériques plus élevées de ce champ ont des processeurs de base qui sont plus rapides, mais moins économes en énergie que ceux avec des valeurs inférieures.

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.AllFlags

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.Parked

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.Allocated

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.AllocatedToTargetProcess

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.RealTime

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.ReservedFlags

DUMMYUNIONNAME.CpuSet.Reserved

Réservé.

DUMMYUNIONNAME.CpuSet.SchedulingClass

DUMMYUNIONNAME.CpuSet.AllocationTag

Spécifie une balise utilisée par Core Allocation pour communiquer un jeu d’UC alloué donné entre des threads dans différents composants.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2016 [applications de bureau | Applications UWP]
En-tête winnt.h (inclure Windows.h)