Package com.sun.jna.platform.win32

# Class WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX

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

Direct Known Subclasses:
  `WinNT.CACHE_RELATIONSHIP`, `WinNT.GROUP_RELATIONSHIP`, `WinNT.NUMA_NODE_RELATIONSHIP`, `WinNT.PROCESSOR_RELATIONSHIP`, `WinNT.UNKNOWN_RELATIONSHIP`

Enclosing interface:
  WinNT

@FieldOrder({"relationship","size"}) public abstract static class WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX extends Structure
Contains information about the relationships of logical processors and related hardware. The `Kernel32.GetLogicalProcessorInformationEx(int, com.sun.jna.Pointer, com.sun.jna.platform.win32.WinDef.DWORDByReference)` function uses this structure.

The native structure contains a union, which is mapped to JNA as subclasses.

## 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
`int`
`relationship`
The type of relationship between the logical processors.
`int`
`size`
The size of the structure, in bytes.

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

`ALIGN_DEFAULT, ALIGN_GNUC, ALIGN_MSVC, ALIGN_NONE, CALCULATE_SIZE`

## Constructor Summary

Constructors
Modifier
Constructor
Description
``
`SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX()`
`protected`
`SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX(Pointer memory)`
This constructor should only be called by a subclass to ensure memory is properly allocated to the subclass fields.

## Method Summary

Modifier and Type
Method
Description
`static WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX`
`fromPointer(Pointer memory)`
Create a new instance of the appropriate subclass of `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX` from the provided `Pointer` to native memory.

### 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, read, 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

### relationship

public int relationship
The type of relationship between the logical processors. This parameter can be one of the following values: `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationCache`, `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationGroup`, `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationNumaNode`, `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationProcessorCore`, or `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationProcessorPackage`.

This field identifies which subclass will be instantiated by the `fromPointer(Pointer)` method.

### size

public int size
The size of the structure, in bytes.

## Constructor Details

### SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX

public SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX()

### SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX

protected SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX(Pointer memory)
This constructor should only be called by a subclass to ensure memory is properly allocated to the subclass fields.

Parameters:
  `memory` - A pointer to the allocated native memory.

## Method Details

### fromPointer

public static WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX fromPointer(Pointer memory)
Create a new instance of the appropriate subclass of `WinNT.SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX` from the provided `Pointer` to native memory. Use this method rather than `SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX(Pointer)` to properly cast the Pointer to the appropriate subclass and populate variable length arrays.

Parameters:
  `memory` - A pointer to allocated memory to be cast to this class.
Returns:
  An instance of the appropriate subclass depending on the value of the `relationship` field. If the `relationship` member is `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationProcessorCore` or `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationProcessorPackage`, the return type will be `WinNT.PROCESSOR_RELATIONSHIP`. If the `relationship` member is `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationNumaNode`, the return type will be `WinNT.NUMA_NODE_RELATIONSHIP`. If the `relationship` member is `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationCache`, the return type will be `WinNT.CACHE_RELATIONSHIP`. If the `relationship` member is `WinNT.LOGICAL_PROCESSOR_RELATIONSHIP.RelationGroup`, the return type will be `WinNT.GROUP_RELATIONSHIP`.