Klasse Guid.REFIID

java.lang.Object
com.sun.jna.PointerType
com.sun.jna.platform.win32.Guid.REFIID
Alle implementierten Schnittstellen:
NativeMapped
Umschließende Schnittstelle:
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."

  • Konstruktordetails

    • REFIID

      public REFIID()
      Instantiates a new refiid.
    • REFIID

      public REFIID(Pointer memory)
      Instantiates a new refiid.
      Parameter:
      memory - the memory
    • REFIID

      public REFIID(Guid.IID guid)
  • Methodendetails

    • setValue

      public void setValue(Guid.IID value)
    • getValue

      public Guid.IID getValue()
    • equals

      public boolean equals(Object o)
      Beschreibung aus Klasse kopiert: PointerType
      Instances of PointerType with identical pointers compare equal by default.
      Setzt außer Kraft:
      equals in Klasse PointerType
    • hashCode

      public int hashCode()
      Beschreibung aus Klasse kopiert: PointerType
      The hash code for a PointerType is the same as that for its pointer.
      Setzt außer Kraft:
      hashCode in Klasse PointerType