我正在使用jna的动态链接库“xpcapi.dll”的方法。
C中* .dll的原始方法之一是:
void xPCGetParamName(int port, int paramIdx, char *blockName, char
*paramName);
我可以在java中声明指针char *blockName
和char *paramName
:
void xPCGetParamName(int port, int paramIdx, String blockName, String paramName);
但是如何在java中返回指针char *blockName
和char *paramName
?
以下是方法xPCGetParamName
的解释:
它说:“参数名称被返回并存储在 paramName ”
这是我的代码,直到现在:
package slrt;
import com.sun.jna.Library;
public interface XpcapiMethods extends Library {
int xPCOpenTcpIpPort(String ipAddress, String ipPort);
void xPCGetParamName(int port, int paramIdx, String blockName, String paramName);
}
和
package slrt;
import com.sun.jna.Native;
import slrt.XpcapiMethods;
public class xCommunication {
public static void main(String[] args) {
// TODO Auto-generated method stub
XpcapiMethods xpcMethods =
(XpcapiMethods)Native.loadLibrary("xpcapi", XpcapiMethods.class);
int tcpIpPort = xpcMethods.xPCOpenTcpIpPort("192.168.20.1", "22222");
xpcMethods.xPCGetParamName(tcpIpPort, 1, "", "");
System.out.println(tcpIpPort);
}
}
也许有人有类似的问题或知道解决方法? 非常感谢!