SYSTEM_CPU_SET_INFORMATION構造体 (winnt.h)
この構造体は、 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 または SetThreadSelectedCpuSets と共に使用できます。
DUMMYUNIONNAME.CpuSet.Group
CPU セットのプロセッサ グループを指定します。 CpuSet 構造体の他のすべての値は、プロセッサ グループに対して相対的です。
DUMMYUNIONNAME.CpuSet.LogicalProcessorIndex
CPU セットのホーム プロセッサのグループ相対インデックスを指定します。 CPU セットが温度管理または電源管理上の理由で駐車されているか、別のアプリケーションに排他的に使用されるように割り当てられている場合を除き、スレッドは CPU セットの 1 つのホーム プロセッサで実行されます。 Group フィールドと LogicalProcessorIndex フィールドは、PROCESSOR_NUMBER構造体にあるフィールドと同じであり、GROUP_AFFINITY構造体の Group フィールドと Mask フィールドに対応します。
DUMMYUNIONNAME.CpuSet.CoreIndex
CPU セットのホーム プロセッサを持つ "コア" を示すグループ相対値。 この数は、同時マルチスレッドをサポートする単一コア上の異なるハードウェア スレッドなど、重要な実行リソースを相互に共有する同じグループ内のすべての CPU セットで同じです。
DUMMYUNIONNAME.CpuSet.LastLevelCacheIndex
キャッシュの少なくとも 1 つのレベルを共有する CPU セットを示すグループ相対値。 この値は、キャッシュを相互に共有するプロセッサ上にあるグループ内のすべての CPU セットで同じです。
DUMMYUNIONNAME.CpuSet.NumaNodeIndex
CPU セットがオンになっている NUMA ノードを示すグループ相対値。 同じ NUMA ノード上にある特定のグループ内のすべての CPU セットは、このフィールドに対して同じ値を持ちます。
DUMMYUNIONNAME.CpuSet.EfficiencyClass
異種プロセッサ (ARM big など) をサポートするシステムのプロセッサの固有のエネルギー効率を示す値。小さなシステム)。 このフィールドの数値が大きい 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 アプリ] |
Header | winnt.h (Windows.h を含む) |