public async Task <bool> ShowEjectToastAsync(string displayName) { if (displayName == null || !IsAvailable) { return(false); } Logger.LogTrace("Displaying toast"); try { var request = CreateRequest(displayName); var loggerFactory = new LoggerFactoryAdapter(LoggerFactory); await new ToastManager(loggerFactory).ShowAsync(request); return(true); } catch (Exception ex) { Logger.LogError(0, ex, "Toast error"); return(false); } }
private bool DoEject(string driveLetter) { var loggerFactory = new LoggerFactoryAdapter(LoggerFactory); using (var volumeDeviceClass = new UsbEject.VolumeDeviceClass(loggerFactory)) { var volume = volumeDeviceClass.SingleOrDefault(v => driveLetter.Equals(v.LogicalDrive)); if (volume == null) { Logger.LogError("Volume not found"); return(false); } var allowUI = true; var result = volume.Eject(allowUI); if (result != null) { Logger.LogError("Eject result: {0}", result); return(false); } } return(true); }