Java:从* .dll void方法返回指针参数

时间:2018-04-17 12:59:07

标签: java c pointers dll void

我正在使用jna的动态链接库“xpcapi.dll”的方法。

C中* .dll的原始方法之一是:

void xPCGetParamName(int port, int paramIdx, char *blockName, char *paramName);

我可以在java中声明指针char *blockNamechar *paramName

void xPCGetParamName(int port, int paramIdx, String blockName, String paramName);

但是如何在java中返回指针char *blockNamechar *paramName

以下是方法xPCGetParamName的解释:

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);

    }

}

也许有人有类似的问题或知道解决方法? 非常感谢!

0 个答案:

没有答案