SYSTEM_CPU_SET_INFORMATION 구조체(winnt.h)
이 구조체는 GetSystemCpuSetInformation에서 반환됩니다. 시스템의 CPU 집합을 열거하고 현재 상태를 확인하는 데 사용됩니다.
이는 향후 확장을 위해 설계된 가변 크기 구조입니다. 이 구조체를 반복할 때 크기 필드를 사용하여 다음 구조체에 대한 오프셋을 결정합니다.
구문
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 집합 중 하나의 홈 프로세서에서 실행됩니다. Group 및 LogicalProcessorIndex 필드는 PROCESSOR_NUMBER 구조체에 있는 필드와 동일하며 GROUP_AFFINITY 구조체의 그룹 필드 및 마스크 필드에 해당합니다.
DUMMYUNIONNAME.CpuSet.CoreIndex
CPU 집합의 홈 프로세서가 있는 "Core"를 나타내는 그룹 상대 값입니다. 이 숫자는 동시 다중 스레딩을 지원하는 단일 코어의 다른 하드웨어 스레드와 같이 서로 중요한 실행 리소스를 공유하는 동일한 그룹의 모든 CPU 집합에 대해 동일합니다.
DUMMYUNIONNAME.CpuSet.LastLevelCacheIndex
한 수준 이상의 캐시를 서로 공유하는 CPU 집합을 나타내는 그룹 상대 값입니다. 이 값은 캐시를 서로 공유하는 프로세서에 있는 그룹의 모든 CPU 집합에 대해 동일합니다.
DUMMYUNIONNAME.CpuSet.NumaNodeIndex
CPU 집합이 있는 NUMA 노드를 나타내는 그룹 상대 값입니다. 동일한 NUMA 노드에 있는 지정된 그룹의 모든 CPU 집합은 이 필드에 대해 동일한 값을 갖습니다.
DUMMYUNIONNAME.CpuSet.EfficiencyClass
다른 유형의 프로세서(예: ARM big)를 지원하는 시스템에 대한 프로세서의 내장 에너지 효율성을 나타내는 값입니다. 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 포함) |