就是你调用的这个结构体以及其引用的其他结构体,可能没有getFieldOrder()的方法,你只要按照顺序把他填上去就好了。比如
public static class NET_DVR_TIME extends Structure {//校时结构参数public int dwYear; //年public int dwMonth; //月public int dwDay; //日public int dwHour; //时public int dwMinute; //分public int dwSecond; //秒
}
解决后:
public static class NET_DVR_TIME extends Structure {//校时结构参数public int dwYear; //年public int dwMonth; //月public int dwDay; //日public int dwHour; //时public int dwMinute; //分public int dwSecond; //秒@Overridepublic List<String> getFieldOrder() {return Arrays.asList("dwYear", "dwMonth", "dwDay", "dwHour", "dwMinute", "dwSecond");}}
注意:getFieldOrder返回的asList中参数需要按照类中定义的顺序,不然可能会赋值错误(我根据错误异常猜测的)