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

    @Structure.FieldOrder(value={"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
`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 and Description
`PROCESSOR_RELATIONSHIP()`
`PROCESSOR_RELATIONSHIP(Pointer memory)`

### Method Summary

All Methods Instance Methods Concrete Methods
`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 Detail

#### 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 Detail

#### PROCESSOR_RELATIONSHIP

    public PROCESSOR_RELATIONSHIP()

#### PROCESSOR_RELATIONSHIP

    public PROCESSOR_RELATIONSHIP(Pointer memory)

### Method Detail

#### read

    public void read()

Description copied from class: `Structure`
Reads the fields of the struct from native memory

Overrides:
  `read` in class `Structure`

Copyright © 2007-2018 Timothy Wall. All Rights Reserved.