Package com.sun.jna.platform.win32

# Class WinNT.PROCESSOR_RELATIONSHIP

java.lang.Object
com.sun.jna.Structure
com.sun.jna.platform.win32.WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
com.sun.jna.platform.win32.WinNT.PROCESSOR_RELATIONSHIP

Enclosing interface:
  WinNT

@FieldOrder({"flags","efficiencyClass","reserved","groupCount","groupMask"}) public static class WinNT.PROCESSOR_RELATIONSHIP extends WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
Describes the logical processors associated with either a processor core or a processor package.

## Nested Class Summary

## Nested classes/interfaces inherited from class com.sun.jna.Structure

`Structure.ByReference, Structure.ByValue, Structure.FieldOrder, Structure.StructField`

## Field Summary

Fields
Modifier and Type
Field
Description
`byte`
`efficiencyClass`
If the `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX.relationship` member of the `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX` structure is `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationProcessorCore`, EfficiencyClass specifies the intrinsic tradeoff between performance and power for the applicable core.
`byte`
`flags`
If the `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX.relationship` member of the `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX` structure is `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationProcessorCore`, this member is `WinNT.LTP_PC_SMT` if the core has more than one logical processor, or 0 if the core has one logical processor.
`short`
`groupCount`
This member specifies the number of entries in the GroupMask array.
`WinNT.GROUP_AFFINITY[]`
`groupMask`
An array of `WinNT.GROUP_AFFINITY` structures.
`byte[]`
`reserved`
This member is reserved.

### Fields inherited from class com.sun.jna.platform.win32.WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX

`relationship, size`

### Fields inherited from class com.sun.jna.Structure

`ALIGN_DEFAULT, ALIGN_GNUC, ALIGN_MSVC, ALIGN_NONE, CALCULATE_SIZE`

## Constructor Summary

Constructors
Constructor
Description
`PROCESSOR_RELATIONSHIP()`
`PROCESSOR_RELATIONSHIP(Pointer memory)`

## Method Summary

Modifier and Type
Method
Description
`void`
`read()`
Reads the fields of the struct from native memory

### Methods inherited from class com.sun.jna.platform.win32.WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX

`fromPointer`

### Methods inherited from class com.sun.jna.Structure

`allocateMemory, allocateMemory, autoAllocate, autoRead, autoRead, autoWrite, autoWrite, cacheTypeInfo, calculateSize, clear, createFieldsOrder, createFieldsOrder, createFieldsOrder, createFieldsOrder, dataEquals, dataEquals, ensureAllocated, equals, fieldOffset, getAutoRead, getAutoWrite, getFieldList, getFieldOrder, getFields, getNativeAlignment, getNativeSize, getNativeSize, getPointer, getStringEncoding, getStructAlignment, hashCode, newInstance, newInstance, readField, readField, setAlignType, setAutoRead, setAutoSynch, setAutoWrite, setStringEncoding, size, sortFields, toArray, toArray, toString, toString, useMemory, useMemory, write, writeField, writeField, writeField`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Field Details

### flags

public byte flags
If the `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX.relationship` member of the `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX` structure is `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationProcessorCore`, this member is `WinNT.LTP_PC_SMT` if the core has more than one logical processor, or 0 if the core has one logical processor.

If the `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX.relationship` member of the `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX` structure is `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationProcessorPackage`, this member is always 0.

### efficiencyClass

public byte efficiencyClass
If the `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX.relationship` member of the `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX` structure is `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.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 `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX.relationship` member of the `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX` structure is `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationProcessorPackage`, EfficiencyClass is always 0.

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

### reserved

public byte[] reserved
This member is reserved.

### groupCount

public short groupCount
This member specifies the number of entries in the GroupMask array.

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

If the `WinNT.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.

### groupMask

public WinNT.GROUP_AFFINITY[] groupMask
An array of `WinNT.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.

## Constructor Details

### PROCESSOR_RELATIONSHIP

public PROCESSOR_RELATIONSHIP()

### PROCESSOR_RELATIONSHIP

public PROCESSOR_RELATIONSHIP(Pointer memory)

## Method Details

### read

public void read()
Description copied from class: `Structure`
Reads the fields of the struct from native memory

Overrides:
  `read` in class `Structure`