WinNT.PROCESSOR_RELATIONSHIP (JNA API)
Description: declaration: package: com.sun.jna.platform.win32, interface: WinNT, class: PROCESSOR_RELATIONSHIP

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`