Пример #1
0
 public static bool EjectDrive(string driveLetter)
 {
     try
     {
         var instance = new NativeUsbFunctions();
         var handle   = instance.CreateUsbEjectHandler(driveLetter);
         return(instance.Eject(handle));
     }
     catch (Exception ex)
     {
         Logger.Error($"Failed to eject drive: '{driveLetter}' because: {ex.Message}");
         return(false);
     }
 }
Пример #2
0
        public void Disconnect()
        {
            Logger.Info($"Disconnect '{_drive}'");
            if (!IsConnected)
            {
                Logger.Warn($"Drive '{_drive}' is already disconnected!");
                return;
            }
            var result = NativeUsbFunctions.EjectDrive(_drive);

            if (result)
            {
                Logger.Info($"Succesfully ejected '{_drive}'");
            }
        }