|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | |||||||||
@Retention(value=RUNTIME) @Target(value=PARAMETER) public @interface In
Indicates that the parameter is an IN parameter.
When a java object is passed to a native function as a pointer
(for example com.kenai.jaffl.Pointer, com.kenai.jaffl.struct.Struct, ByteBuffer),
then a temporary native memory block is allocated, the java data is copied to
the temporary memory and the address of the temporary memory is passed to the function.
After the function returns, the java data is automatically updated from the
contents of the native memory.
As this extra copying can be expensive, parameters can be annotated with @In
so the data is only copied from java IN to native memory, but not copied
back OUT from native memory to java memory.
Parameters with neither a @In nor a @Out annotation will copy both ways.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | |||||||||