我需要你的帮助。
我实现了一个使用JNA访问DLL函数的接口。我检查了文档中有各种类型的Java本地语言的from-to。但是,为了实现我的DLL接口访问,我遇到了一个无法在Java中找到信息的人。我最大的困难可能在于不太了解C / C ++(或者至少不记得更多= P)。
要记下一些可能对您有帮助的信息。
在头文件中,我发现DLL的文档定义如下:
# Define SOCKET HSERVER
以下使用此功能之一:
HSERVER DVR_UserLogin (
SERVER_CONNECT_INFO lpServerInfo
);
映射函数如下JAVA认为因为它是一个Socket也许可以成功:
public Socket DVR_UserLogin ( STServerConnectInfo lpServerInfo ) ;
但它不起作用,我得到以下exception
:
Exception in thread " main" java.lang.IllegalArgumentException : Unsupported return type class java.net.Socket function in DVR_UserLogin
at com.sun.jna.Function.invoke ( Function.java : 462)
at com.sun.jna.Function.invoke ( Function.java : 315)
com.sun.jna.Library at $ Handler.invoke ( Library.java : 212)
at com.sun.proxy . $ Proxy0.DVR_UserLogin ( Unknown Source )
有谁能帮我解开这个谜团? =)