次のようなポインターから配列を取得したいと思います。
PointerByReference buf=new PointerByReference();
IntByReference len=new IntByReference();
myLib.getPoints(buf,len);
Pointer p=buf.getValue();
JNAPoint jnaPoint=new JNAPoint(p);
JNAPoint[] points=(JNAPoint[])jnaPoint.toArray(len.getValue());
関数のプロトタイプは次のとおりです。 void __declspec (dllexport) getPoints(point** tab,int* len);
構造は次のとおりです。 typedef struct _point { double x; ダブルy; } 点;
しかし、配列「ポイント」を読みたいとき、値が間違っています。
間違いはありませんか?
ありがとう