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 集的識別碼。 指定要親和的CPU集合清單時,此標識碼可以與 SetProcessDefaultCpuSets 或 SetThreadSelectedCpuSets 搭配使用。

DUMMYUNIONNAME.CpuSet.Group

指定 CPU 集合的處理器群組。 CpuSet 結構中的所有其他值都是相對於處理器群組。

DUMMYUNIONNAME.CpuSet.LogicalProcessorIndex

指定 CPU 集合之主處理器的群組相對索引。 除非 CPU 集合因熱或電源管理原因而停駐,或指派給另一個應用程式,否則線程會在其中一個 CPU 集合的主處理器上執行。 Group 和 LogicalProcessorIndex 欄位與PROCESSOR_NUMBER結構中找到的欄位相同,而且它們會對應至GROUP_AFFINITY結構的 [群組] 欄位和 [遮罩] 欄位。

DUMMYUNIONNAME.CpuSet.CoreIndex

群組相對值,指出哪個“Core” 具有CPU集合的主處理器。 此數目與相同群組中共用大量執行資源的所有 CPU 集合相同,例如支援同時多線程處理之單一核心上的不同硬體線程。

DUMMYUNIONNAME.CpuSet.LastLevelCacheIndex

群組相對值,指出哪些CPU集合會彼此共用至少一個層級的快取。 對於群組中與彼此共用快取的處理器上的所有CPU集合,這個值都相同。

DUMMYUNIONNAME.CpuSet.NumaNodeIndex

群組相對值,指出CPU集合所在的NUMA節點。 指定群組中位於相同NUMA節點上的所有CPU集合,對此欄位會有相同的值。

DUMMYUNIONNAME.CpuSet.EfficiencyClass

值,表示支援異質處理器的系統內建能源效率,例如ARM巨量 (。LITTLE 系統) 。 此欄位具有較高數值的 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)