struttura SYSTEM_CPU_SET_INFORMATION (winnt.h)

Questa struttura viene restituita da GetSystemCpuSetInformation. Viene usato per enumerare i set di CPU nel sistema e determinarne lo stato corrente.

Si tratta di una struttura di dimensioni variabili progettata per l'espansione futura. Quando si esegue l'iterazione su questa struttura, usare il campo size per determinare l'offset alla struttura successiva.

Sintassi

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;

Members

Size

Questa è la dimensione, in byte, di questa struttura di informazioni.

Type

Si tratta del tipo di informazioni nella struttura. Le applicazioni devono ignorare qualsiasi struttura con tipi non riconosciuti.

DUMMYUNIONNAME

DUMMYUNIONNAME.CpuSet

DUMMYUNIONNAME.CpuSet.Id

ID del set di CPU specificato. Questo identificatore può essere usato con SetProcessDefaultCpuSets o SetThreadSelectedCpuSets quando si specifica un elenco di set di CPU a cui eseguire l'affinità.

DUMMYUNIONNAME.CpuSet.Group

Specifica il gruppo di processori del set di CPU. Tutti gli altri valori nella struttura CpuSet sono relativi al gruppo di processori.

DUMMYUNIONNAME.CpuSet.LogicalProcessorIndex

Specifica l'indice relativo al gruppo del processore principale del set di CPU. A meno che il set di CPU non venga parcheggiato per motivi di gestione termica o elettrica o assegnato per l'uso esclusivo a un'altra applicazione, i thread verranno eseguiti nel processore principale di uno dei set di CPU. I campi Group e LogicalProcessorIndex corrispondono a quelli presenti nella struttura PROCESSOR_NUMBER e corrispondono al campo Group e Mask della struttura GROUP_AFFINITY.

DUMMYUNIONNAME.CpuSet.CoreIndex

Valore relativo al gruppo che indica quale "Core" ha il processore principale del set di CPU. Questo numero è lo stesso per tutti i set di CPU nello stesso gruppo che condividono risorse di esecuzione significative tra loro, ad esempio thread hardware diversi in un singolo core che supporta il multithreading simultaneo.

DUMMYUNIONNAME.CpuSet.LastLevelCacheIndex

Valore relativo al gruppo che indica quali set di CPU condividono almeno un livello di cache tra loro. Questo valore è lo stesso per tutti i set di CPU in un gruppo che si trovano nei processori che condividono la cache tra loro.

DUMMYUNIONNAME.CpuSet.NumaNodeIndex

Valore relativo al gruppo che indica il nodo NUMA su cui è attivato un set di CPU. Tutti i set di CPU in un determinato gruppo che si trovano nello stesso nodo NUMA avranno lo stesso valore per questo campo.

DUMMYUNIONNAME.CpuSet.EfficiencyClass

Valore che indica l'efficienza energetica intrinseca di un processore per i sistemi che supportano processori eterogenei ,ad esempio ARM big. SISTEMI LITTLE). I set di CPU con valori numerici più elevati di questo campo hanno processori home più veloci ma meno efficienti rispetto a quelli con valori inferiori.

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

Riservato.

DUMMYUNIONNAME.CpuSet.SchedulingClass

DUMMYUNIONNAME.CpuSet.AllocationTag

Specifica un tag usato dall'allocazione di core per comunicare un determinato set di CPU allocato tra thread in componenti diversi.

Requisiti

Requisito Valore
Client minimo supportato Windows 10 [app desktop | App UWP]
Server minimo supportato Windows Server 2016 [app desktop | App UWP]
Intestazione winnt.h (include Windows.h)