JNA で void* の例を見つけるのに苦労しています。JNAでポインターを使用する方法を理解しようとしています。
例えば
で C:
int PTOsetApiOpt(int iOpt,void* lpValue,int iLen)
Parameters: iOpt: int
lpData: address from which data should be read.
iLen: length of data
returns int values : 0 as success or -1 as failure.
JNAを使用してJavaでそれをどのように記述しますか? 私はJAVAでこれを試しました
public MyTest{
public interface MyLibrary extends Library {
public int PTOsetApiOpt(int iOpt,Pointer lpValue,int iLen);
}
public static void main(String[] args) {
MyLibrary myLib = (MyLibrary)MyLibrary.INSTANCE;
int result = myLib.PTOsetApiOpt(1,new Pointer(0),1024);
}
myLib.PTOsetApiOpt が呼び出されると、JVM がクラッシュします。これは、新しい Pointer ステートメントが原因であると推測しています。ポインターを作成し、JVM クラッシュなしでパラメーターとして使用するにはどうすればよいですか? 私はそれに2日間立ち往生しています。どんなヒントも素晴らしいでしょう。前もって感謝します。
よろしく、 -Vid-