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集合清單時,此標識碼可以與 SetProcessDefaultCpuSetsSetThreadSelectedCpuSets 搭配使用。

DUMMYUNIONNAME.CpuSet.Group

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

DUMMYUNIONNAME.CpuSet.LogicalProcessorIndex

指定 CPU 集合之主處理器的群組相對索引。 除非 CPU 集合因熱或電源管理原因而停駐,或指派給另一個應用程式,否則線程會在其中一個 CPU 集合的主處理器上執行。 GroupLogicalProcessorIndex 欄位與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)