JNA调用RegisterDeviceNotification返回1066错误

时间:2012-10-01 05:46:01

标签: java java-native-interface jna

我已经浏览了以下帖子并将返回类型更改为nativelong但仍然失败并出现1066错误,我的代码与以下链接完全相同 here

请帮忙......

1 个答案:

答案 0 :(得分:0)

只解决了我所做的改变

“将RegisterDeviceNotification()的第二个参数声明为DEV_BROADCAST_DEVICEINTERFACE类型并直接传递arg(而不是Structure.getPointer())”并且它有效。 还有一些建议要记住:

  1. 确保声明您的结构字段顺序(3.5.0及更高版本需要这个;如果您没有指定它,则更早依赖于JVM执行预期的操作)。
  2. dbcc_name可能是char []或byte [],具体取决于您是否使用ASCII / UNICODE映射。
  3. 希望这会有所帮助...... 谢谢。