com.sun.jna.platform.win32

## Class Guid.REFIID

- java.lang.Object
- - com.sun.jna.PointerType
  - - com.sun.jna.platform.win32.Guid.REFIID

- All Implemented Interfaces:
    NativeMapped
  Enclosing interface:
    Guid

      public static class Guid.REFIID
      extends PointerType

  REFIID is a pointer to an IID.

  This type needs to be seperate from IID, as the REFIID can be passed in from external code, that does not allow writes to memory.

  With the normal JNA behaviour a structure, that crosses the native<-%gt;Java border will be autowritten, which causes a fault when written. Observed was this behaviour in COM-Callbacks, which get the REFIID passed into Invoke-method.

  So a IID can't be used directly, although the typedef of REFIID (from MSDN):

  `typedef IID* REFIID;`

  and the jna behaviour is described as:

  "When a function requires a pointer to a struct, a Java Structure should be used."

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `REFIID()` Instantiates a new refiid.
    `REFIID(Guid.IID guid)`
    `REFIID(Pointer memory)` Instantiates a new refiid.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object o)` Instances of `PointerType` with identical pointers compare equal by default.
    `Guid.IID` | `getValue()`
    `int` | `hashCode()` The hash code for a `PointerType` is the same as that for its pointer.
    `void` | `setValue(Guid.IID value)`

    - ### Methods inherited from class com.sun.jna.PointerType

      `fromNative, getPointer, nativeType, setPointer, toNative, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### REFIID

          public REFIID()

      Instantiates a new refiid.

    - #### REFIID

          public REFIID(Pointer memory)

      Instantiates a new refiid.
      Parameters:
        `memory` - the memory

    - #### REFIID

          public REFIID(Guid.IID guid)

  - ### Method Detail

    - #### setValue

          public void setValue(Guid.IID value)

    - #### getValue

          public Guid.IID getValue()

    - #### equals

          public boolean equals(java.lang.Object o)

      Description copied from class: `PointerType`
      Instances of `PointerType` with identical pointers compare equal by default.
      Overrides:
        `equals` in class `PointerType`

    - #### hashCode

          public int hashCode()

      Description copied from class: `PointerType`
      The hash code for a `PointerType` is the same as that for its pointer.
      Overrides:
        `hashCode` in class `PointerType`

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