Beispiel #1
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);
        }