PROCESSOR_RELATIONSHIP structure (winnt.h)

Represents information about affinity within a processor group. This structure is used with the GetLogicalProcessorInformationEx function.

Syntax

typedef struct _PROCESSOR_RELATIONSHIP {
  BYTE           Flags;
  BYTE           EfficiencyClass;
  BYTE           Reserved[20];
  WORD           GroupCount;
  GROUP_AFFINITY GroupMask[ANYSIZE_ARRAY];
} PROCESSOR_RELATIONSHIP, *PPROCESSOR_RELATIONSHIP;

Members

Flags

If the Relationship member of the SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX structure is RelationProcessorCore, this member is LTP_PC_SMT if the core has more than one logical processor, or 0 if the core has one logical processor.

If the Relationship member of the SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX structure is RelationProcessorPackage, this member is always 0.

EfficiencyClass

If the Relationship member of the SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX structure is RelationProcessorCore, EfficiencyClass specifies the intrinsic tradeoff between performance and power for the applicable core. A core with a higher value for the efficiency class has intrinsically greater performance and less efficiency than a core with a lower value for the efficiency class. EfficiencyClass is only nonzero on systems with a heterogeneous set of cores.

If the Relationship member of the SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX structure is RelationProcessorPackage, EfficiencyClass is always 0.

The minimum operating system version that supports this member is Windows 10.

Reserved[20]

This member is reserved.

GroupCount

This member specifies the number of entries in the GroupMask array. For more information, see Remarks.

GroupMask[ANYSIZE_ARRAY]

An array of GROUP_AFFINITY structures. The GroupCount member specifies the number of structures in the array. Each structure in the array specifies a group number and processor affinity within the group.

Remarks

The PROCESSOR_RELATIONSHIP structure describes the logical processors associated with either a processor core or a processor package.

If the PROCESSOR_RELATIONSHIP structure represents a processor core, the GroupCount member is always 1.

If the PROCESSOR_RELATIONSHIP structure represents a processor package, the GroupCount member is 1 only if all processors are in the same processor group. If the package contains more than one NUMA node, the system might assign different NUMA nodes to different processor groups. In this case, the GroupCount member is the number of groups to which NUMA nodes in the package are assigned.

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Header winnt.h

See also

GROUP_AFFINITY

GetLogicalProcessorInformationEx

SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX