|
JNA API> 3.0.7 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.sun.jna.Pointer
com.sun.jna.Function
public class Function
An abstraction for a native function pointer. An instance of
Function represents a pointer to some native function.
invoke(Class,Object[],Map) is the primary means to call
the function.
Pointer| Nested Class Summary | |
|---|---|
static interface |
Function.PostCallRead
Any argument which implements this interface will have the Function.PostCallRead.read() method called immediately after function invocation. |
| Field Summary | |
|---|---|
static int |
ALT_CONVENTION
First alternate convention (currently used only for w32 stdcall). |
static int |
C_CONVENTION
Standard C calling convention. |
(package private) static java.lang.Integer |
INTEGER_FALSE
|
(package private) static java.lang.Integer |
INTEGER_TRUE
|
static int |
MAX_NARGS
Maximum number of arguments supported by a JNA function call. |
(package private) static java.lang.String |
OPTION_INVOKING_METHOD
For internal JNA use. |
| Fields inherited from class com.sun.jna.Pointer |
|---|
NULL, peer, SIZE |
| Constructor Summary | |
|---|---|
Function(NativeLibrary library,
java.lang.String functionName,
int callingConvention)
Create a new Function that is linked with a native
function that follows the given calling convention. |
|
Function(Pointer functionAddress,
int callingConvention)
Create a new Function that is linked with a native
function that follows the given calling convention. |
|
| Method Summary | |
|---|---|
(package private) static java.lang.Object[] |
concatenateVarArgs(java.lang.Object[] inArgs)
Concatenate varargs with normal args to obtain a simple argument array. |
boolean |
equals(java.lang.Object o)
Two function pointers are equal if they share the same peer address and calling convention. |
int |
getCallingConvention()
|
static Function |
getFunction(java.lang.String libraryName,
java.lang.String functionName)
Obtain a Function representing a native
function that follows the standard "C" calling convention. |
static Function |
getFunction(java.lang.String libraryName,
java.lang.String functionName,
int callConvention)
Obtain a Function representing a native
function that follows a given calling convention. |
java.lang.String |
getName()
|
java.lang.Object |
invoke(java.lang.Class returnType,
java.lang.Object[] inArgs)
Invoke the native function with the given arguments, returning the native result as an Object. |
java.lang.Object |
invoke(java.lang.Class returnType,
java.lang.Object[] inArgs,
java.util.Map options)
Invoke the native function with the given arguments, returning the native result as an Object. |
void |
invoke(java.lang.Object[] args)
Call the native function being represented by this object |
(package private) java.lang.Object |
invoke(java.lang.Object[] args,
java.lang.Class returnType)
|
double |
invokeDouble(java.lang.Object[] args)
Convenience method for invoke(Double.class, args). |
float |
invokeFloat(java.lang.Object[] args)
Convenience method for invoke(Float.class, args). |
int |
invokeInt(java.lang.Object[] args)
Convenience method for invoke(Integer.class, args). |
long |
invokeLong(java.lang.Object[] args)
Convenience method for invoke(Long.class, args). |
Pointer |
invokePointer(java.lang.Object[] args)
Convenience method for invoke(Pointer.class, args). |
java.lang.String |
invokeString(java.lang.Object[] args,
boolean wide)
Convenience method for invoke(String.class, args)
or invoke(WString.class, args) |
void |
invokeVoid(java.lang.Object[] args)
Convenience method for invoke(Void.class, args). |
(package private) static boolean |
isVarArgs(java.lang.reflect.Method m)
Varargs are only supported on 1.5+. |
java.lang.String |
toString()
Provide a human-readable representation of this object. |
(package private) static java.lang.Boolean |
valueOf(boolean b)
Implementation of Boolean.valueOf for older VMs. |
| Methods inherited from class com.sun.jna.Pointer |
|---|
clear, createConstant, getByte, getByteArray, getByteBuffer, getChar, getCharArray, getDouble, getDoubleArray, getFloat, getFloatArray, getInt, getIntArray, getLong, getLongArray, getNativeLong, getPointer, getPointerArray, getPointerArray, getShort, getShortArray, getString, getString, getStringArray, getStringArray, hashCode, indexOf, read, read, read, read, read, read, read, read, setByte, setChar, setDouble, setFloat, setInt, setLong, setMemory, setNativeLong, setPointer, setShort, setString, setString, share, share, write, write, write, write, write, write, write, write |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int MAX_NARGS
public static final int C_CONVENTION
public static final int ALT_CONVENTION
static final java.lang.Integer INTEGER_TRUE
static final java.lang.Integer INTEGER_FALSE
static final java.lang.String OPTION_INVOKING_METHOD
| Constructor Detail |
|---|
Function(NativeLibrary library,
java.lang.String functionName,
int callingConvention)
Function that is linked with a native
function that follows the given calling convention.
The allocated instance represents a pointer to the named native function from the supplied library, called with the given calling convention.
library - NativeLibrary in which to find the functionfunctionName - Name of the native function to be linked withcallingConvention - Calling convention used by the native function
{@link - UnsatisfiedLinkError} if the given function name is
not found within the library.
Function(Pointer functionAddress,
int callingConvention)
Function that is linked with a native
function that follows the given calling convention.
The allocated instance represents a pointer to the given function address, called with the given calling convention.
functionAddress - Address of the native functioncallingConvention - Calling convention used by the native function| Method Detail |
|---|
public static Function getFunction(java.lang.String libraryName,
java.lang.String functionName)
Function representing a native
function that follows the standard "C" calling convention.
The allocated instance represents a pointer to the named native function from the named library, called with the standard "C" calling convention.
libraryName - Library in which to find the native functionfunctionName - Name of the native function to be linked with
{@link - UnsatisfiedLinkError} if the library is not found or
the given function name is not found within the library.
public static Function getFunction(java.lang.String libraryName,
java.lang.String functionName,
int callConvention)
Function representing a native
function that follows a given calling convention.
The allocated instance represents a pointer to the named native function from the named library, called with the named calling convention.
libraryName - Library in which to find the functionfunctionName - Name of the native function to be linked withcallConvention - Call convention used by the native function
{@link - UnsatisfiedLinkError} if the library is not found or
the given function name is not found within the library.public java.lang.String getName()
public int getCallingConvention()
public java.lang.Object invoke(java.lang.Class returnType,
java.lang.Object[] inArgs)
public java.lang.Object invoke(java.lang.Class returnType,
java.lang.Object[] inArgs,
java.util.Map options)
java.lang.Object invoke(java.lang.Object[] args,
java.lang.Class returnType)
implementationpublic void invoke(java.lang.Object[] args)
args - Arguments to pass to the native functionpublic java.lang.String toString()
toString in class Pointerpublic Pointer invokePointer(java.lang.Object[] args)
invoke(Pointer.class, args).
public java.lang.String invokeString(java.lang.Object[] args,
boolean wide)
invoke(String.class, args)
or invoke(WString.class, args)
args - Arguments passed to native functionwide - Whether the return value is of type wchar_t*;
if false, the return value is of type char*.public int invokeInt(java.lang.Object[] args)
invoke(Integer.class, args).
public long invokeLong(java.lang.Object[] args)
invoke(Long.class, args).
public float invokeFloat(java.lang.Object[] args)
invoke(Float.class, args).
public double invokeDouble(java.lang.Object[] args)
invoke(Double.class, args).
public void invokeVoid(java.lang.Object[] args)
invoke(Void.class, args).
public boolean equals(java.lang.Object o)
equals in class Pointero - A Pointer instance
Pointer,
and the C pointers being pointed to by these objects are also
equal. Returns false otherwise.static java.lang.Object[] concatenateVarArgs(java.lang.Object[] inArgs)
static boolean isVarArgs(java.lang.reflect.Method m)
static java.lang.Boolean valueOf(boolean b)
|
JNA API> 3.0.7 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||