我们有一个测试usb使能产品的要求,在那里我们从pc上插拔产品。我们使用jssc的串行接口。
问题是人们倾向于在关闭串口之前删除产品,这样java测试程序就会挂起。
我试图让java程序识别usb串行设备的丢失,并为用户关闭端口以防止问题的发生。
我使用的是jna,在添加/删除设备时可以访问dev\u broadcast\u deviceinterface结构。使用网页上的代码片段,我可以看到从pc机上添加/删除的设备,但我的问题是如何处理设备的广播端口信息。
我的理解是dev\u broadcast\u deviceinterface的结构允许您识别设备的类型,然后您必须覆盖与该设备相关的结构。因此,我可以通过以下方法找到设备类型:
DEV_BROADCAST_HDR bhdr = new DEV_BROADCAST_HDR(lParam.longValue());
然后我可以使用bhdr.dbch\u devicetype来查找dbt\u devtyp\u端口。因此,我尝试使用dev\u broadcast\u端口,方法是在web上找到以下设置。
DEV_BROADCAST_PORT bpt = new DEV_BROADCAST_PORT(bhdr.getPointer());
问题是我有错误'数组字段必须初始化'。我不知道如何将dev\u broadcast\u deviceinterface结构转换为使用jna所需的dev\u broadcast\u port结构。
现在网上的许多信息似乎已经过时了。我使用了win32windowdemo.java中的代码作为参考。
非常感谢您的帮助。
货币政策委员会
暂无答案!
目前还没有任何答案,快来回答吧!