繁体   English   中英

如何使用JNA从结构中获取Structure.ByReference?

[英]How do I obtain a Structure.ByReference from a Structure using JNA?

我的Java代码中确实有一个Structure对象。 但是使用JNAerator生成的Jar需要将Structure.ByReference作为数据类型。 jna或代码段中是否有任何方法可以将Structure对象转换为Structure.ByReference对象?

通常,传递参数时无需显式指定Structure.ByReference 如果是参数,则可以从签名中删除.ByReference ,这样就可以正常工作。

如果它是一个结构中的一个字段,然后JNA解释Structure由值,在这种情况下, 需要提供.ByReference明确。

这是做到这一点的一种方法。

class MyStructure extends Structure {
    class ByReference extends MyStructure implements Structure.ByReference {
        public ByReference() { }
        public Byreference(Pointer p) { super(p); read(); }
    }
    public MyStructure() { }
    public MyStructure(Pointer p) { super(p); read(); }
}

MyStructure s;
// ...
MyStructure.ByReference ref = new MyStructure.ByReference(s.getPointer());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM