Class WindowsUsbDevice

    • Field Detail

      • GUID_DEVINTERFACE_USB_HOST_CONTROLLER

        private static final com.sun.jna.platform.win32.Guid.GUID GUID_DEVINTERFACE_USB_HOST_CONTROLLER
    • Constructor Detail

      • WindowsUsbDevice

        public WindowsUsbDevice​(java.lang.String name,
                                java.lang.String vendor,
                                java.lang.String vendorId,
                                java.lang.String productId,
                                java.lang.String serialNumber,
                                java.lang.String uniqueDeviceId,
                                java.util.List<UsbDevice> connectedDevices)
    • Method Detail

      • getUsbDevices

        public static java.util.List<UsbDevice> getUsbDevices​(boolean tree)
        Instantiates a list of UsbDevice objects, representing devices connected via a usb port (including internal devices).

        If the value of tree is true, the top level devices returned from this method are the USB Controllers; connected hubs and devices in its device tree share that controller's bandwidth. If the value of tree is false, USB devices (not controllers) are listed in a single flat list.

        Parameters:
        tree - If true, returns a list of controllers, which requires recursive iteration of connected devices. If false, returns a flat list of devices excluding controllers.
        Returns:
        a list of UsbDevice objects.
      • addDevicesToList

        private static void addDevicesToList​(java.util.List<UsbDevice> deviceList,
                                             java.util.List<UsbDevice> list)
      • queryUsbDevices

        private static java.util.List<UsbDevice> queryUsbDevices()
      • queryDeviceAndChildren

        private static WindowsUsbDevice queryDeviceAndChildren​(java.lang.Integer device,
                                                               java.util.Map<java.lang.Integer,​java.lang.Integer> parentMap,
                                                               java.util.Map<java.lang.Integer,​java.lang.String> nameMap,
                                                               java.util.Map<java.lang.Integer,​java.lang.String> deviceIdMap,
                                                               java.util.Map<java.lang.Integer,​java.lang.String> mfgMap,
                                                               java.lang.String vid,
                                                               java.lang.String pid,
                                                               java.lang.String parentSerial)