我想要将一个指向C结构的指针转换为jna结构。我使用jna从dll接收回调函数,该函数有一个参数,该参数是指向C结构的指针,当我尝试将指针转换为jna结构时,我得到错误的结构值。如何将一个指向c结构的指针转换为jna结构
这是C结构:
typedef struct
{
int x;
int y;
}Point;
Point *gpt;
typedef struct
{
int x;
int y;
Point pt1;
}Point2;
Point2 *gpt2;
也就是说在C回调函数的指针(void *的PARAMS),以点2 sctruct:
void __stdcall PointCallback(void *params, int param_size)
所以,我做了这个java中的代码接收回调并获得原始结构:
// Point.java
package Callback.UsePointLib;
import com.sun.jna.Structure;
public class Point extends Structure
{
public static class ByValue extends Point implements Structure.ByValue {}
public int x;
public int y;
}
//Point2.java
package Callback.UsePointLib;</