Partager via


structure SYSTEM_LOGICAL_PROCESSOR_INFORMATION (winnt.h)

Décrit la relation entre le jeu de processeurs spécifié. Cette structure est utilisée avec la fonction GetLogicalProcessorInformation .

Syntaxe

typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
  ULONG_PTR                      ProcessorMask;
  LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
  union {
    struct {
      BYTE Flags;
    } ProcessorCore;
    struct {
      DWORD NodeNumber;
    } NumaNode;
    CACHE_DESCRIPTOR Cache;
    ULONGLONG        Reserved[2];
  } DUMMYUNIONNAME;
} SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;

Membres

ProcessorMask

Masque de processeur identifiant les processeurs décrits par cette structure. Un masque de processeur est un vecteur de bits dans lequel chaque bit défini représente un processeur actif dans la relation. Au moins un bit sera défini.

Sur un système avec plus de 64 processeurs, le masque de processeur identifie les processeurs dans un seul groupe de processeurs.

Relationship

Relation entre les processeurs identifiés par la valeur du membre ProcessorMask . Ce membre peut être l’une des valeurs LOGICAL_PROCESSOR_RELATIONSHIP suivantes.

Valeur Signification
RelationCache
2
Les processeurs logiques spécifiés partagent un cache. Le membre Cache contient des informations supplémentaires.

Windows Server 2003 : Cette valeur n’est pas prise en charge tant que Windows Server 2003 avec SP1 et Windows XP Professionnel édition x64.

RelationNumaNode
1
Les processeurs logiques spécifiés font partie du même nœud NUMA. Le membre NumaNode contient des informations supplémentaires.
RelationProcessorCore
0
Les processeurs logiques spécifiés partagent un cœur de processeur unique. Le membre ProcessorCore contient des informations supplémentaires.
RelationProcessorPackage
3
Les processeurs logiques spécifiés partagent un package physique. Aucune information supplémentaire n’est disponible.

Windows Server 2003 et Windows XP Professionnel Édition x64 : Cette valeur n’est pas prise en charge tant que Windows Server 2003 avec SP1 et Windows XP avec SP3.

 

Les versions ultérieures de Windows peuvent prendre en charge des valeurs supplémentaires pour le membre Relation .

DUMMYUNIONNAME

DUMMYUNIONNAME.ProcessorCore

Cette structure contient des données valides uniquement si le membre relationnel est RelationProcessorCore.

DUMMYUNIONNAME.ProcessorCore.Flags

Si la valeur de ce membre est 1, les processeurs logiques identifiés par la valeur du membre ProcessorMask partagent des unités fonctionnelles, comme dans Hyperthreading ou SMT. Sinon, les processeurs logiques identifiés ne partagent pas d’unités fonctionnelles.

Windows Server 2003 et Windows XP Professionnel Édition x64 : Ce membre est également 1 pour les cœurs qui partagent un package physique. Par conséquent, pour déterminer si le processeur prend en charge plusieurs cœurs ou l’hyperthreading sur les systèmes antérieurs à Windows Vista, utilisez l’instruction CPUID.

DUMMYUNIONNAME.NumaNode

Cette structure contient des données valides uniquement si le membre relationnel est RelationNumaNode.

DUMMYUNIONNAME.NumaNode.NodeNumber

Identifie le nœud NUMA . Les valeurs valides de ce paramètre sont 0 pour le numéro de nœud NUMA le plus élevé inclus. Un système multiprocesseur non NUMA signale que tous les processeurs appartiennent à un seul nœud NUMA.

DUMMYUNIONNAME.Cache

Une structure CACHE_DESCRIPTOR qui identifie les caractéristiques d’un cache particulier. Un enregistrement est retourné pour chaque cache signalé. Certains caches ou tous les caches peuvent ne pas être signalés, selon le mécanisme utilisé par le processeur pour identifier ses caches. Par conséquent, ne supposez pas l’absence de caches particuliers. Les caches ne sont pas nécessairement partagés entre les processeurs logiques.

Cette structure contient des données valides uniquement si le membre relationnel est RelationCache.

Windows Server 2003 : Ce membre n’est pas pris en charge avant Windows Server 2003 avec SP1 et Windows XP Professionnel Édition x64.

DUMMYUNIONNAME.Reserved[2]

Réservé. Ne pas utiliser.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista, Windows XP Professionnel Édition x64 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête winnt.h (inclure Windows.h)

Voir aussi

CACHE_DESCRIPTOR

GetLogicalProcessorInformation

GetLogicalProcessorInformationEx

LOGICAL_PROCESSOR_RELATIONSHIP

SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX