예제 #1
0
 public static IEnumerable <UsbDevice> GetConnectedDevices(string driveName)
 {
     foreach (var device in UsbHost.GetControllers().Select(x => x.GetRootHub()).SelectMany(x => UsbLogic.ListHub(x, driveName)))
     {
         yield return(device);
     }
 }
예제 #2
0
        public static UsbDevice FindDeviceByDriverKeyName(string driverKeyName, string driveName)
        {
            UsbDevice foundDevice = null;

            foreach (var controller in UsbHost.GetControllers())
            {
                UsbLogic.SearchHubDriverKeyName(controller.GetRootHub(), ref foundDevice, driverKeyName, driveName);

                if (foundDevice != null)
                {
                    break;
                }
            }

            return(foundDevice);
        }
예제 #3
0
        private static UsbDevice FindDeviceByInstanceID(string instanceID, string driveName)
        {
            UsbDevice foundDevice = null;

            foreach (var controller in UsbHost.GetControllers())
            {
                UsbLogic.SearchHubInstanceID(controller.GetRootHub(), ref foundDevice, instanceID, driveName);

                if (foundDevice != null)
                {
                    break;
                }
            }

            return(foundDevice);
        }
예제 #4
0
        public static IEnumerable <UsbTreeItem> TextHost()
        {
            var depth = 0;

            foreach (var controller in UsbHost.GetControllers())
            {
                yield return(new UsbTreeItem {
                    Depth = depth, Value = $"C-{controller?.Name} ({controller?.Address})"
                });

                foreach (var item in UsbTreeView.TextController(depth + 1, controller))
                {
                    yield return(item);
                }
            }
        }
예제 #5
0
 void usbHost_USBDriveDisconnected(UsbHost sender)
 {
     ledUSB.TurnRed();
     usbStorageDevice = null;
 }
예제 #6
0
 void usbHost_USBDriveConnected(UsbHost sender, GT.StorageDevice storageDevice)
 {
     ledUSB.TurnGreen();
     usbStorageDevice = storageDevice;
     CheckAndTransfer();
 }
예제 #7
0
 void usbHost_USBDriveDisconnected(UsbHost sender)
 {
     ledUSB.TurnRed();
     usbStorageDevice = null;
 }
예제 #8
0
 void usbHost_USBDriveConnected(UsbHost sender, GT.StorageDevice storageDevice)
 {
     ledUSB.TurnGreen();
     usbStorageDevice = storageDevice;
     CheckAndTransfer();
 }