Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
        }