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) |