public static class Guid.REFIID extends PointerType
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 and Description |
---|
REFIID()
Instantiates a new refiid.
|
REFIID(Guid.IID guid) |
REFIID(Pointer memory)
Instantiates a new refiid.
|
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) |
fromNative, getPointer, nativeType, setPointer, toNative, toString
public REFIID()
public REFIID(Pointer memory)
memory
- the memorypublic REFIID(Guid.IID guid)
public void setValue(Guid.IID value)
public Guid.IID getValue()
public boolean equals(java.lang.Object o)
PointerType
PointerType
with identical pointers compare
equal by default.equals
in class PointerType
public int hashCode()
PointerType
PointerType
is the same as that for
its pointer.hashCode
in class PointerType