java.lang.Object | +--com.neva.Coroutine
| Constructor Summary | |
Coroutine()
Creates a Coroutine |
|
Coroutine(java.lang.String lib,
java.lang.String rou)
Creates a Coroutine for the specified dynamic link library and function name. |
|
| Method Summary | |
void |
addArg(boolean arg)
Adds a boolean argument to the argument list |
void |
addArg(byte[] arg)
Adds a byte array to the argument list. |
void |
addArg(byte[] arg,
int size)
Adds first size elements of a byte array to the argument list |
void |
addArg(com.neva.CoroutineComplexParameter par)
Adds a pointer to a CoroutineComplexParameter bytes to the argument list |
void |
addArg(double arg)
Adds a double to the argument list |
void |
addArg(java.lang.Double arg)
Adds a Double to the argument list |
void |
addArg(float arg)
Adds a float to the argument list |
void |
addArg(java.lang.Float arg)
Adds a Float to the argument list |
void |
addArg(int arg)
Adds an 32-bit integer argument to the argument list |
void |
addArg(int[] iarr)
Adds an integer array to the argument list |
void |
addArg(int[] iarr,
int sz)
Adds first size elements of an integer array to the argument list |
void |
addArg(long arg)
Adds a 64-bit integer argument to the argument list |
void |
addArg(java.lang.String arg)
Adds a String argument to the argument list as an ANSI string |
void |
addArgANSIString(java.lang.String str)
Adds a String argument to the argument list as an ANSI string |
void |
addArgBSTR(java.lang.String str)
Adds a String argument to the argument list as a length-prefixed 16-bit Unicode string |
void |
addArgBuffer(int size)
Add an empty byte array of size bytes to the argument list |
void |
addArgByRef(boolean param)
Add a boolean by reference to the argument list |
void |
addArgByRef(double param)
Add a double by reference to the argument list |
void |
addArgByRef(float param)
Add a float by reference to the argument list |
void |
addArgByRef(int param)
Add an integer by reference to the argument list |
void |
addArgByRef(short param)
Add a short by reference to the argument list |
void |
addArgByValue(byte[] arg)
Adds a byte array to the argument list. |
void |
addArgByValue(byte[] arg,
int size)
Adds first size elements of a byte array to the argument list. |
void |
addArgNull()
Adds null to the argument list. |
void |
addArgUnicodeString(java.lang.String str)
Adds a String argument to the argument list as a Unicode string |
java.lang.String |
ANSIStringFromParameterAt(int offset)
Answers a Java String returned via external function's outbound parameter at given offset. |
static java.lang.String |
ANSIStringFromPtr(int ptr)
Answers a Java String created from a raw pointer to an 8-bit ANSI string (C++'s char*) |
boolean |
answerAsBoolean()
Answers external function's return value as a boolean |
byte[] |
answerAsBytes(int size)
Answers the external function's return value as a byte array. |
double |
answerAsDouble()
Answers external function's return value as a double |
float |
answerAsFloat()
Answers external function's return value as a float |
int |
answerAsInteger()
Answers external function's return value as a integer |
long |
answerAsLong()
Answers external function's return value as a 64-bit long |
java.lang.String |
answerAsString()
Answers external function's return value as a String |
void |
atput(int addr,
int data)
Stores a 4-byte integer |
boolean |
booleanFromParameterAt(int offset)
Answers a boolean returned via external function's outbound parameter. |
java.lang.String |
BSTRFromParameterAt(int offset)
Answers a Java String returned via external function's outbound parameter at given offset. |
static java.lang.String |
BSTRFromPtr(int ptr)
Answers a Java String created from a raw pointer to a length-prefixed 16-bit Unicode string (OLE's BSTR) |
static com.neva.Coroutine |
BuildCoroutineFromObjectPtr(long objPtr,
int offset)
Answers an instance of Coroutine built to acces COM interface member function. |
static com.neva.Coroutine |
BuildCoroutineFromPtr(int ptr)
Answers an instance of Coroutine built from a pointer to external function |
byte[] |
byteArrayFromParameterAt(int offset,
int sz)
Answers a byte array returned via external function's outbound parameter at offset off. |
static byte[] |
byteArrayFromPtr(int ptr,
int sz)
Answers a byte array created from a raw pointer ptr (C++'s BYTE*) |
int |
byteAt(int ptr)
Answers a byte from location ptr |
void |
byteAtPut(int ptr,
int by)
Stores a byte |
static byte |
byteFromPtr(int ptr)
Answers a byte that is pointed to by a raw pointer ptr (C++'s BYTE*) |
void |
copyByte(int to,
byte from)
Copies one byte. |
void |
copyMemory(int to,
int from,
int size)
Copies size bytes of src to dest. |
double |
doubleFromParameterAt(int offset)
Answers a double returned via external function's outbound parameter. |
static double |
doubleFromPtr(int ptr)
Answers a double that is pointed to by a raw pointer ptr (C++'s double*) |
float |
floatFromParameterAt(int offset)
Answers a float returned via external function's outbound parameter. |
static float |
floatFromPtr(int ptr)
Answers a float that is pointed to by a raw pointer ptr (C++'s float*) |
void |
freeArg()
Removes all arguments from the argument list |
static int |
getBYTEAtOffset(byte[] bytes,
int offset)
Answers an 8-bit BYTE value at offset offset |
static int |
getDWORDAtOffset(byte[] bytes,
int offset)
Answers a 32-bit DWORD value at offset offset |
java.lang.String |
getExceptionNativeStackTrace()
Answers the last exception's native stack trace |
static long |
getINT64AtOffset(byte[] bytes,
int offset)
Answers a 64-bit integer value at offset offset |
static java.lang.String |
getOSErrorDescription(int errno)
Answers error description found in system's message table resource. |
static int |
getWORDAtOffset(byte[] bytes,
int offset)
Answers a 16-bit DWORD value at offset offset |
static boolean |
ifInitialized()
Answers whether Coroutine native library was properly initialized |
int[] |
intArrayFromParameterAt(int offset,
int sz)
Answers an integer array returned via external function's outbound parameter at given offset. |
static int[] |
intArrayFromPtr(int ptr,
int sz)
Answers an integer array created from a raw pointer ptr (C++'s int*) |
int |
intAt(int addr)
Answers an integer value at location addr |
void |
intAtPut(int addr,
int val)
Stores a 4-byte integer |
int |
intFromParameterAt(int offset)
Answers an integer returned via external function's outbound parameter. |
static int |
intFromPtr(int ptr)
Answers an integer that is pointed to by a raw pointer ptr (C++'s long*) |
int |
invoke()
Invokes external function. |
java.lang.String |
lastError()
Answers Coroutine's last error description |
int |
lastOsError()
Answers the error code set by external function during this Coroutine invocation |
static int |
LastOsError()
Answers the error code set by the last Coroutine invocation performed on the current thread |
long |
longFromParameterAt(int offset)
Answers a long integer returned via external function's outbound parameter. |
static long |
longFromPtr(int ptr)
Answers a long integer that is pointed to by a raw pointer ptr (C++'s __int64*) |
int |
ptrFromParameterAt(int offset)
Answers an integer pointer returned via external function's outbound parameter. |
static void |
setBYTEAtOffset(byte[] bytes,
int dword,
int offset)
Stores an 8-bit BYTE value in a byte array bytes at offset offset |
static void |
setDWORDAtOffset(byte[] bytes,
int dword,
int offset)
Stores a 32-bit DWORD value in a byte array bytes at offset offset. |
void |
setFunction(java.lang.String rou)
Sets the function. |
static void |
setINT64AtOffset(byte[] bytes,
long int64,
int offset)
Stores a 64-bit integer value in a byte array bytes at offset offset. |
void |
setLibrary(java.lang.String lib)
Sets the library. |
static void |
setWORDAtOffset(byte[] bytes,
int word,
int offset)
Answers a 16-bit DWORD value at offset offset |
void |
shortAtPut(int addr,
int val)
Stores a 2-byte short integer |
short |
shortFromParameterAt(int offset)
Answers a short integer returned via external function's outbound parameter. |
static short |
shortFromPtr(int ptr)
Answers a short that is pointed to by a raw pointer ptr (C++'s short*) |
java.lang.String |
StringFromParameterAt(int offset)
Answers a Java String returned via external function's outbound parameter at given offset. |
static java.lang.String |
StringFromPtr(int ptr)
Answers a Java String created from a raw pointer to an 8-bit ANSI string (C++'s char*) |
java.lang.String |
UnicodeStringFromParameterAt(int offset)
Answers a Java String returned via external function's outbound parameter at given offset. |
static java.lang.String |
UnicodeStringFromPtr(int ptr)
Answers a Java String created from a raw pointer to a 16-bit Unicode string (C++'s WCHAR*) |
static void |
UnloadLibraries()
Close all previously open dynamic link libraries |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public Coroutine()
public Coroutine(java.lang.String lib,
java.lang.String rou)
| Method Detail |
public void addArg(boolean arg)
public void addArg(byte[] arg)
public void addArg(byte[] arg,
int size)
public void addArg(com.neva.CoroutineComplexParameter par)
public void addArg(double arg)
public void addArg(java.lang.Double arg)
public void addArg(float arg)
public void addArg(java.lang.Float arg)
public void addArg(int arg)
public void addArg(int[] iarr)
public void addArg(int[] iarr,
int sz)
public void addArg(long arg)
public void addArg(java.lang.String arg)
public void addArgANSIString(java.lang.String str)
public void addArgBSTR(java.lang.String str)
public void addArgBuffer(int size)
public void addArgByRef(boolean param)
public void addArgByRef(double param)
public void addArgByRef(float param)
public void addArgByRef(int param)
public void addArgByRef(short param)
public void addArgByValue(byte[] arg)
public void addArgByValue(byte[] arg,
int size)
public void addArgNull()
public void addArgUnicodeString(java.lang.String str)
public java.lang.String ANSIStringFromParameterAt(int offset)
throws java.lang.NullPointerException
java.lang.NullPointerException
public static java.lang.String ANSIStringFromPtr(int ptr)
throws java.lang.NullPointerException
java.lang.NullPointerExceptionpublic boolean answerAsBoolean()
public byte[] answerAsBytes(int size)
throws java.lang.NullPointerException
size - specifies the size of array
java.lang.NullPointerExceptionpublic double answerAsDouble()
public float answerAsFloat()
public int answerAsInteger()
public long answerAsLong()
public java.lang.String answerAsString()
throws java.lang.NullPointerException
java.lang.NullPointerException
public void atput(int addr,
int data)
addr - specifies the raw address to store 4-byte integer value
public boolean booleanFromParameterAt(int offset)
throws java.lang.NullPointerException
offset - specifies parameter's offset in parameter list
java.lang.NullPointerException
public java.lang.String BSTRFromParameterAt(int offset)
throws java.lang.NullPointerException
java.lang.NullPointerException
public static java.lang.String BSTRFromPtr(int ptr)
throws java.lang.NullPointerException
java.lang.NullPointerException
public static com.neva.Coroutine BuildCoroutineFromObjectPtr(long objPtr,
int offset)
objPtr - specifies COM object interface pointeroffset - specifies the offset in Interface Function Table (vtable).
public static com.neva.Coroutine BuildCoroutineFromPtr(int ptr)
ptr - specifies address of external function
public byte[] byteArrayFromParameterAt(int offset,
int sz)
throws java.lang.NullPointerException
java.lang.NullPointerException
public static byte[] byteArrayFromPtr(int ptr,
int sz)
throws java.lang.NullPointerException
ptr - specifies raw pointersz - specifies the size of array
java.lang.NullPointerExceptionpublic int byteAt(int ptr)
public void byteAtPut(int ptr,
int by)
public static byte byteFromPtr(int ptr)
throws java.lang.NullPointerException
java.lang.NullPointerException
public void copyByte(int to,
byte from)
throws java.lang.NullPointerException
java.lang.NullPointerException
public void copyMemory(int to,
int from,
int size)
throws java.lang.NullPointerException
java.lang.NullPointerException
public double doubleFromParameterAt(int offset)
throws java.lang.NullPointerException
offset - specifies parameter's offset in parameter list
java.lang.NullPointerException
public static double doubleFromPtr(int ptr)
throws java.lang.NullPointerException
java.lang.NullPointerException
public float floatFromParameterAt(int offset)
throws java.lang.NullPointerException
offset - specifies parameter's offset in parameter list
java.lang.NullPointerException
public static float floatFromPtr(int ptr)
throws java.lang.NullPointerException
java.lang.NullPointerExceptionpublic void freeArg()
public static int getBYTEAtOffset(byte[] bytes,
int offset)
public static int getDWORDAtOffset(byte[] bytes,
int offset)
public java.lang.String getExceptionNativeStackTrace()
public static long getINT64AtOffset(byte[] bytes,
int offset)
public static java.lang.String getOSErrorDescription(int errno)
public static int getWORDAtOffset(byte[] bytes,
int offset)
public static boolean ifInitialized()
public int[] intArrayFromParameterAt(int offset,
int sz)
throws java.lang.NullPointerException
java.lang.NullPointerException
public static int[] intArrayFromPtr(int ptr,
int sz)
throws java.lang.NullPointerException
ptr - specifies raw pointersz - specifies the size of array
java.lang.NullPointerException
public int intAt(int addr)
throws java.lang.NullPointerException
java.lang.NullPointerException
public void intAtPut(int addr,
int val)
throws java.lang.NullPointerException
addr - specifies the raw address to store 4-byte integerval - specifies an integer value to store
java.lang.NullPointerException
public int intFromParameterAt(int offset)
throws java.lang.NullPointerException
offset - specifies parameter's offset in parameter list
java.lang.NullPointerException
public static int intFromPtr(int ptr)
throws java.lang.NullPointerException
java.lang.NullPointerException
public int invoke()
throws java.lang.SecurityException
java.lang.SecurityException - when the external function is not authorized (see Security Issues).
public java.lang.String lastError()
throws java.lang.NullPointerException
java.lang.NullPointerExceptionpublic int lastOsError()
public static int LastOsError()
public long longFromParameterAt(int offset)
throws java.lang.NullPointerException
offset - specifies parameter's offset in parameter list
java.lang.NullPointerException
public static long longFromPtr(int ptr)
throws java.lang.NullPointerException
java.lang.NullPointerException
public int ptrFromParameterAt(int offset)
throws java.lang.NullPointerException
offset - specifies parameter's offset in parameter list
java.lang.NullPointerException
public static void setBYTEAtOffset(byte[] bytes,
int dword,
int offset)
public static void setDWORDAtOffset(byte[] bytes,
int dword,
int offset)
public void setFunction(java.lang.String rou)
rou - specifies external function's name as function's exported name or symbol '@'
followed by function's ordinal number.
public static void setINT64AtOffset(byte[] bytes,
long int64,
int offset)
public void setLibrary(java.lang.String lib)
lib - specifies DLL file name without path and extension.
public static void setWORDAtOffset(byte[] bytes,
int word,
int offset)
public void shortAtPut(int addr,
int val)
throws java.lang.NullPointerException
addr - specifies the raw address to store short integerval - specifies an short integer value to store
java.lang.NullPointerException
public short shortFromParameterAt(int offset)
throws java.lang.NullPointerException
offset - specifies parameter's offset in parameter list
java.lang.NullPointerException
public static short shortFromPtr(int ptr)
throws java.lang.NullPointerException
java.lang.NullPointerException
public java.lang.String StringFromParameterAt(int offset)
throws java.lang.NullPointerException
java.lang.NullPointerException
public static java.lang.String StringFromPtr(int ptr)
throws java.lang.NullPointerException
java.lang.NullPointerException
public java.lang.String UnicodeStringFromParameterAt(int offset)
throws java.lang.NullPointerException
java.lang.NullPointerException
public static java.lang.String UnicodeStringFromPtr(int ptr)
throws java.lang.NullPointerException
java.lang.NullPointerExceptionpublic static void UnloadLibraries()