Я немного проблема с JNA.Строка, переданная в параметре
Мой код:
заголовок с:
#ifndef IOPROTOCOL_H_INCLUDED
#define IOPROTOCOL_H_INCLUDED
typedef signed char INT8;
typedef short INT16;
typedef int INT32;
typedef unsigned char UINT8;
typedef unsigned short UINT16;
typedef unsigned int UINT32;
/* Types d'IO */
typedef enum { IOT_U1, IOT_U2, IOT_U8, IOT_I8, IOT_U16, IOT_I16, IOT_U32, IOT_I32, IOT_F32, IOT_STRING, IOT_MAX } IoTypeE;
typedef union {
INT32 i;
UINT32 u;
float f;
char * s;
} Value;
typedef struct {
int (*Read) (char *rxbuf, int rxlen, UINT8 interTo);
int (*Write) (char *txbuf,int txlen);
int (*FunctionResponse) (int address, Value value, IoTypeE type);
int (*SendTraceRoute) (char * trace);
} DeviceFuncT;
int readTrame(DeviceFuncT *deviceFunct, UINT32 function, UINT32 address, UINT32 countAddress, UINT32 slave, UINT32 type);
int writeTrame(DeviceFuncT *deviceFunct, UINT32 function, UINT32 address, Value value, UINT32 type, UINT32 slave);
#endif // IOPROTOCOL_H_INCLUDED
DeviceFuncT создается в Java и передается в параметр в функции readTrame или writeTrame.
Я звоню в C (поскольку dll ^^) DeviceFuncT -> (* Read) (char * rxbuf, int rxlen, UINT8 interTo);
В Java
public static interface ReadFunct extends com.sun.jna.Callback{
int invoke(String rxbuf, int rxlen, byte interto);
}
Так char* rxbuf == String rxbu
е
Я должен обрабатывать rxbuf в Java, прежде чем закончить функцию и после того, как я обрабатывать rxbux ан C, но я не прибывают, чтобы иметь значение набор в Java в функции в C ...
Помогите с этой проблемой? пожалуйста :).
Извините за мое объяснение.
спасибо.