如何解决java中是否有获取设备名称的函数?
在此代码中,我只能获得 busNumber、address、idvendor 和 idProduct。我可以使用这种方法获取设备名称和产品描述吗? 而且我不知道为什么它会显示更多设备,例如没有连接的设备仍然显示三个设备。
public void ListUsb() throws IOException
{
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
Context context = new Context();
int result = LibUsb.init(context);
if (result < 0)
{
throw new LibUsbException("Unable to initialize libusb",result);
}
DeviceList list = new DeviceList();
result = LibUsb.getDeviceList(context,list);
if (result < 0)
{
throw new LibUsbException("Unable to get device list",result);
}
try
{
for (Device device: list)
{
int address = LibUsb.getDeviceAddress(device);
int busNumber = LibUsb.getBusNumber(device);
DeviceDescriptor descriptor = new DeviceDescriptor();
result = LibUsb.getDeviceDescriptor(device,descriptor);
if (result < 0)
{
throw new LibUsbException(
"Unable to read device descriptor",result);
}
System.out.format("Bus %03d,Device %03d: vendor %04x,Product %04x%n ",busNumber,address,descriptor.idvendor(),descriptor.idProduct());
}
}
finally
{
LibUsb.freeDeviceList(list,true);
}
LibUsb.exit(context);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。