private void UsbDeviceArrivedEvent(object sender, UsbDeviceArrivedEventArgs e) { arrivedItems.Add(e); if (arrivedItems.Count == 1) { comboBox_Devices.SelectedIndex = 0; } }
private bool TryGetData(UsbDeviceArrivedEventArgs arrivedItem, out byte[] data) { data = null; var diskSpaceLayout = arrivedItem.USBDeviceInfo.DiskSpaceLayout; var bootSectorInfo = arrivedItem.USBDeviceInfo.BootSectorInfo; if (diskSpaceLayout.HasValue && bootSectorInfo != null && diskSpaceLayout.Value.lpBytesPerSector == bootSectorInfo.BytesPerSector && diskSpaceLayout.Value.lpSectorsPerCluster == bootSectorInfo.SectorsPerCluster && bootSectorInfo.ReservedSectors > 1) { data = UsbDevice.ReadSector(arrivedItem.DriveLetter, diskSpaceLayout.Value, bootSectorInfo.SectorsPerCluster - 1); } return(data != null); }