(winnt.h) SYSTEM_CPU_SET_INFORMATION 结构
此结构由 GetSystemCpuSetInformation 返回。 它用于枚举系统上的 CPU 集并确定其当前状态。
这是一个大小可变的结构,专为将来的扩展而设计。 循环访问此结构时,请使用 size 字段来确定到下一个结构的偏移量。
语法
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;
成员
Size
这是此信息结构的大小(以字节为单位)。
Type
这是结构中的信息类型。 应用程序应跳过具有无法识别类型的任何结构。
DUMMYUNIONNAME
DUMMYUNIONNAME.CpuSet
DUMMYUNIONNAME.CpuSet.Id
指定 CPU 集的 ID。 在指定要关联到的 CPU 集列表时,此标识符可与 SetProcessDefaultCpuSets 或 SetThreadSelectedCpuSet 一 起使用。
DUMMYUNIONNAME.CpuSet.Group
指定 CPU 集的处理器组。 CpuSet 结构中的所有其他值都相对于处理器组。
DUMMYUNIONNAME.CpuSet.LogicalProcessorIndex
指定 CPU 集的主处理器的组相对索引。 除非 CPU 集出于热或电源管理原因而寄存,或者分配给另一个应用程序专用,否则线程将在其中一个 CPU 集的主处理器上运行。 Group 和 LogicalProcessorIndex 字段与在 PROCESSOR_NUMBER 结构中找到的字段相同,它们对应于 GROUP_AFFINITY 结构的 Group 字段和 Mask 字段。
DUMMYUNIONNAME.CpuSet.CoreIndex
一个组相对值,指示哪个“核心”具有 CPU 集的主处理器。 对于同一组中彼此共享大量执行资源的所有 CPU 集,例如支持同时多线程处理的单个内核上的不同硬件线程,此数字相同。
DUMMYUNIONNAME.CpuSet.LastLevelCacheIndex
一个组相对值,指示哪个 CPU 集至少彼此共享一个级别的缓存。 对于位于彼此共享缓存的处理器上的组中的所有 CPU 集,此值相同。
DUMMYUNIONNAME.CpuSet.NumaNodeIndex
一个组相对值,指示 CPU 集位于哪个 NUMA 节点上。 位于同一 NUMA 节点上的给定组中的所有 CPU 集都将对此字段具有相同的值。
DUMMYUNIONNAME.CpuSet.EfficiencyClass
一个 值,指示支持异类处理器(如 ARM big)的系统的处理器固有能效 (。LITTLE systems) 。 此字段数值较高的 CPU 集具有比值较低的主处理器更快,但更省电。
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
保留。
DUMMYUNIONNAME.CpuSet.SchedulingClass
DUMMYUNIONNAME.CpuSet.AllocationTag
指定核心分配用于在不同组件中的线程之间传达给定分配的 CPU 集的标记。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2016 [桌面应用 |UWP 应用] |
标头 | winnt.h (包括 Windows.h) |