com.sun.jna.platform.win32

## Class Ntifs.SymbolicLinkReparseBuffer

- java.lang.Object
- - com.sun.jna.Structure
  - - com.sun.jna.platform.win32.Ntifs.SymbolicLinkReparseBuffer

Direct Known Subclasses:
  Ntifs.SymbolicLinkReparseBuffer.ByReference

Enclosing interface:
  Ntifs

    public static class Ntifs.SymbolicLinkReparseBuffer
    extends Structure

### Nested Class Summary

Nested Classes
`static class` `Ntifs.SymbolicLinkReparseBuffer.ByReference`

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

`Structure.ByValue, Structure.StructField`

### Field Summary

Fields
`int` `Flags` Used to indicate if the given symbolic link is an absolute or relative symbolic link.
`char[]` `PathBuffer` First character of the path string.
`short` `PrintNameLength` Length, in bytes, of the print name string.
`short` `PrintNameOffset` Offset, in bytes, of the print name string in the PathBuffer array.
`short` `SubstituteNameLength` Length, in bytes, of the substitute name string.
`short` `SubstituteNameOffset` Offset, in bytes, of the substitute name string in the PathBuffer array.

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

`ALIGN_DEFAULT, ALIGN_GNUC, ALIGN_MSVC, ALIGN_NONE, CALCULATE_SIZE`

### Constructor Summary

Constructors
Constructor and Description
`SymbolicLinkReparseBuffer()`
`SymbolicLinkReparseBuffer(Pointer memory)`
`SymbolicLinkReparseBuffer(short SubstituteNameOffset, short SubstituteNameLength, short PrintNameOffset, short PrintNameLength, int Flags, java.lang.String PathBuffer)`
`SymbolicLinkReparseBuffer(java.lang.String substituteName, java.lang.String printName, int Flags)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected java.util.List<java.lang.String>` `getFieldOrder()` Return this Structure's field names in their proper order.
`java.lang.String` `getPrintName()`
`java.lang.String` `getSubstituteName()`
`static int` `sizeOf()`

### 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, getFields, getNativeAlignment, getNativeSize, getNativeSize, getPointer, getStringEncoding, getStructAlignment, hashCode, newInstance, newInstance, read, readField, readField, setAlignType, setAutoRead, setAutoSynch, setAutoWrite, setFieldOrder, 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

#### SubstituteNameOffset

    public short SubstituteNameOffset

Offset, in bytes, of the substitute name string in the PathBuffer array. Note that this offset must be divided by sizeof(WCHAR) to get the array index.

#### SubstituteNameLength

    public short SubstituteNameLength

Length, in bytes, of the substitute name string. If this string is NULL-terminated, SubstituteNameLength does not include space for the UNICODE_NULL character.

#### PrintNameOffset

    public short PrintNameOffset

Offset, in bytes, of the print name string in the PathBuffer array. Note that this offset must be divided by sizeof(WCHAR) to get the array index.

#### PrintNameLength

    public short PrintNameLength

Length, in bytes, of the print name string. If this string is NULL-terminated, PrintNameLength does not include space for the UNICODE_NULL character.

#### Flags

    public int Flags

Used to indicate if the given symbolic link is an absolute or relative symbolic link. If Flags contains SYMLINK_FLAG_RELATIVE, the symbolic link contained in the PathBuffer array (at offset SubstitueNameOffset) is processed as a relative symbolic link; otherwise, it is processed as an absolute symbolic link.

#### PathBuffer

    public char[] PathBuffer

First character of the path string. This is followed in memory by the remainder of the string. The path string contains the substitute name string and print name string. The substitute name and print name strings can appear in any order in the PathBuffer. (To locate the substitute name and print name strings in the PathBuffer, use the SubstituteNameOffset, SubstituteNameLength, PrintNameOffset, and PrintNameLength members.) NOTE: MAXIMUM_REPARSE_DATA_BUFFER_SIZE is chosen here based on documentation. Because chars are two bytes, the actual array size needs to be divided by 2

### Constructor Detail

#### SymbolicLinkReparseBuffer

    public SymbolicLinkReparseBuffer()

#### SymbolicLinkReparseBuffer

    public SymbolicLinkReparseBuffer(Pointer memory)

#### SymbolicLinkReparseBuffer

    public SymbolicLinkReparseBuffer(java.lang.String substituteName,
                                     java.lang.String printName,
                                     int Flags)

#### SymbolicLinkReparseBuffer

    public SymbolicLinkReparseBuffer(short SubstituteNameOffset,
                                     short SubstituteNameLength,
                                     short PrintNameOffset,
                                     short PrintNameLength,
                                     int Flags,
                                     java.lang.String PathBuffer)

### Method Detail

#### sizeOf

    public static int sizeOf()

#### getFieldOrder

    protected java.util.List<java.lang.String> getFieldOrder()

Description copied from class: `Structure`
Return this Structure's field names in their proper order. For example,

     protected List getFieldOrder() {
         return Arrays.asList(new String[] { ... });
     }

IMPORTANT When deriving from an existing Structure subclass, ensure that you augment the list provided by the superclass, e.g.

     protected List getFieldOrder() {
         List fields = new ArrayList(super.getFieldOrder());
         fields.addAll(Arrays.asList(new String[] { ... }));
         return fields;
     }

Field order must be explicitly indicated, since the field order as returned by `Class.getFields()` is not guaranteed to be predictable.

Specified by:
  `getFieldOrder` in class `Structure`
Returns:
  ordered list of field names

#### getPrintName

    public java.lang.String getPrintName()

Returns:
  the print name in a String

#### getSubstituteName

    public java.lang.String getSubstituteName()

Returns:
  the substitute name in a String

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