void EjectButtonClick(object sender, EventArgs e) { string result; LoggingService.Info("Eject requested"); VolumeDeviceClass volumeDeviceClass = new VolumeDeviceClass(); try { Volume volume = volumeDeviceClass.FindBySerial(Settings.source_id); LoggingService.Info(String.Format("Ejecting {0} {1}", volume.LogicalDrive, volume.Serial)); volumeDeviceClass.Dispose(); result = volume.Eject(false); LoggingService.Info(String.Format("Eject result: {0}", result)); } catch (DeviceNotFound) { return; } if (result == null) // Device ejected properly setConnectedStatus(false); }
private string scanForDevice() { if (!Settings.sourceValid) { status_view.setConnectedStatus(false); return ""; } VolumeDeviceClass volumeDeviceClass = new VolumeDeviceClass(); try { Volume volume = volumeDeviceClass.FindBySerial(Settings.source_id); status_view.setConnectedStatus(true); string drive = volume.LogicalDrive; volumeDeviceClass.Dispose(); return drive; } catch (DeviceNotFound) { status_view.setConnectedStatus(false); volumeDeviceClass.Dispose(); return ""; } }