RGiesecke.DllExport无效的内存访问

时间:2015-07-12 13:06:31

标签: java dll jna

我是设备驱动程序DLL。我在C#中编写了一个包装器DLL,使用RGiesecke.DllExport尝试从Java应用程序调用C#包装器。

我在Java端使用JNA 4.1并调用包装器dll,如下所示。

IMathFuncs mathFuncs =
(IMathFuncs)Native.loadLibrary("C://path2dll//theDLL.dll", IMathFuncs.class);

我可以成功调用基本的C#" hello world"来自Java的函数。但是当我调用一个使用设备驱动程序类的函数时,我会得到以下错误。

mathFuncs.sayHello(); // runs fine
mathFuncs.useDevice(); // throws invalid memory access err.


Exception in thread "main" java.lang.Error: Invalid memory access
at com.sun.jna.Native.invokePointer(Native Method)
at com.sun.jna.Function.<init>(Function.java:208)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:536)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:513)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:499)
at com.sun.jna.Library$Handler.invoke(Library.java:199)
at $Proxy0.useDevice(Unknown Source)
at MathFuncs.main(MathFuncs.java:16)

我有什么遗失的东西吗?如何让设备驱动程序DLL可用于我的Java应用程序?

提前致谢

0 个答案:

没有答案
相关问题