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

    @Structure.FieldOrder(value={"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
`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
`` `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

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

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

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

#### 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`.

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