Package 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

      @FieldOrder({"SubstituteNameOffset","SubstituteNameLength","PrintNameOffset","PrintNameLength","Flags","PathBuffer"})
      public static class Ntifs.SymbolicLinkReparseBuffer
      extends Structure

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `Ntifs.SymbolicLinkReparseBuffer.ByReference` |

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

      `Structure.ByValue, Structure.FieldOrder, Structure.StructField`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `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 | Description
    --- | ---
    `SymbolicLinkReparseBuffer()` |
    `SymbolicLinkReparseBuffer​(short SubstituteNameOffset, short SubstituteNameLength, short PrintNameOffset, short PrintNameLength, int Flags, java.lang.String PathBuffer)` |
    `SymbolicLinkReparseBuffer​(Pointer memory)` |
    `SymbolicLinkReparseBuffer​(java.lang.String substituteName, java.lang.String printName, int Flags)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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, 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

    - #### 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()

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