Java 数组结构指针
我使用java调用.dll,现在我有了一个结构,其中有一个指针变量“pBuf”。我需要将数组转换为指针,并将其存储在这个指针变量中 结构:Java 数组结构指针,java,structure,jna,Java,Structure,Jna,我使用java调用.dll,现在我有了一个结构,其中有一个指针变量“pBuf”。我需要将数组转换为指针,并将其存储在这个指针变量中 结构: public static class NET_DVR_BUF_INFO extends Structure { public Pointer pBuf; public int nLen; @Override protected List<String> getFieldOrder() { return Arr
public static class NET_DVR_BUF_INFO extends Structure {
public Pointer pBuf;
public int nLen;
@Override
protected List<String> getFieldOrder() {
return Arrays.asList("pBuf", "nLen");
}
}
我需要将net\u dvr\u videowall窗口位置
放入pBuf
我能做什么?JNA的类有一个getPointer()
方法,该方法返回指向所需结构的指针。由于您有一个结构数组,因此需要指向第一个元素索引0的指针:
NET_DVR_BUF_INFO bufInfo = new NET_DVR_BUF_INFO();
bufInfo.pBuf = net_dvr_videowallwindowpositions[0].getPointer();
由于使用结构的toArray()
方法定义了数组,因此数组的其他元素将位于本机端预期的连续内存中。JNA的类有一个getPointer()
方法,该方法返回指向所需结构的指针。由于您有一个结构数组,因此需要指向第一个元素索引0的指针:
NET_DVR_BUF_INFO bufInfo = new NET_DVR_BUF_INFO();
bufInfo.pBuf = net_dvr_videowallwindowpositions[0].getPointer();
由于使用结构的toArray()
方法定义了数组,因此数组的其他元素将位于本机端预期的连续内存中