示例#1
0
        private void UsbDeviceArrivedEvent(object sender, UsbDeviceArrivedEventArgs e)
        {
            arrivedItems.Add(e);

            if (arrivedItems.Count == 1)
            {
                comboBox_Devices.SelectedIndex = 0;
            }
        }
示例#2
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);
        }