diff --git a/.vs/DiscImageChef/v15/Browse.VC.db b/.vs/DiscImageChef/v15/Browse.VC.db index 87c60b9b7..646f29e72 100644 Binary files a/.vs/DiscImageChef/v15/Browse.VC.db and b/.vs/DiscImageChef/v15/Browse.VC.db differ diff --git a/.vs/DiscImageChef/v15/sqlite3/storage.ide b/.vs/DiscImageChef/v15/sqlite3/storage.ide index 5e7a292f9..0e5e772d6 100644 Binary files a/.vs/DiscImageChef/v15/sqlite3/storage.ide and b/.vs/DiscImageChef/v15/sqlite3/storage.ide differ diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite index 250dd008e..77a193423 100644 Binary files a/.vs/slnx.sqlite and b/.vs/slnx.sqlite differ diff --git a/DiscImageChef.Devices/Device/Constructor.cs b/DiscImageChef.Devices/Device/Constructor.cs index e5c0a811e..865a032db 100644 --- a/DiscImageChef.Devices/Device/Constructor.cs +++ b/DiscImageChef.Devices/Device/Constructor.cs @@ -358,6 +358,11 @@ namespace DiscImageChef.Devices if(ATAID.HasValue) serial = ATAID.Value.SerialNumber; } + else + { + lastError = 0; + error = false; + } } if((scsiSense && (usb || firewire)) || manufacturer == "ATA") diff --git a/DiscImageChef.Devices/Windows/Command.cs b/DiscImageChef.Devices/Windows/Command.cs index 5ad4609b9..323c1819e 100644 --- a/DiscImageChef.Devices/Windows/Command.cs +++ b/DiscImageChef.Devices/Windows/Command.cs @@ -81,7 +81,7 @@ namespace DiscImageChef.Devices.Windows Marshal.Copy(buffer, 0, sptd_sb.sptd.DataBuffer, buffer.Length); DateTime start = DateTime.Now; - bool hasError = Extern.DeviceIoControlScsi(fd, WindowsIoctl.IOCTL_SCSI_PASS_THROUGH_DIRECT, ref sptd_sb, (uint)Marshal.SizeOf(sptd_sb), ref sptd_sb, + bool hasError = !Extern.DeviceIoControlScsi(fd, WindowsIoctl.IOCTL_SCSI_PASS_THROUGH_DIRECT, ref sptd_sb, (uint)Marshal.SizeOf(sptd_sb), ref sptd_sb, (uint)Marshal.SizeOf(sptd_sb), ref k, IntPtr.Zero); DateTime end = DateTime.Now; @@ -154,7 +154,7 @@ namespace DiscImageChef.Devices.Windows Marshal.Copy(buffer, 0, aptd.DataBuffer, buffer.Length); DateTime start = DateTime.Now; - sense = Extern.DeviceIoControlAta(fd, WindowsIoctl.IOCTL_ATA_PASS_THROUGH, ref aptd, (uint)Marshal.SizeOf(aptd), ref aptd, + sense = !Extern.DeviceIoControlAta(fd, WindowsIoctl.IOCTL_ATA_PASS_THROUGH, ref aptd, (uint)Marshal.SizeOf(aptd), ref aptd, (uint)Marshal.SizeOf(aptd), ref k, IntPtr.Zero); DateTime end = DateTime.Now; @@ -231,7 +231,7 @@ namespace DiscImageChef.Devices.Windows Marshal.Copy(buffer, 0, aptd.DataBuffer, buffer.Length); DateTime start = DateTime.Now; - sense = Extern.DeviceIoControlAta(fd, WindowsIoctl.IOCTL_ATA_PASS_THROUGH, ref aptd, (uint)Marshal.SizeOf(aptd), ref aptd, + sense = !Extern.DeviceIoControlAta(fd, WindowsIoctl.IOCTL_ATA_PASS_THROUGH, ref aptd, (uint)Marshal.SizeOf(aptd), ref aptd, (uint)Marshal.SizeOf(aptd), ref k, IntPtr.Zero); DateTime end = DateTime.Now; @@ -315,7 +315,7 @@ namespace DiscImageChef.Devices.Windows Marshal.Copy(buffer, 0, aptd.DataBuffer, buffer.Length); DateTime start = DateTime.Now; - sense = Extern.DeviceIoControlAta(fd, WindowsIoctl.IOCTL_ATA_PASS_THROUGH, ref aptd, (uint)Marshal.SizeOf(aptd), ref aptd, + sense = !Extern.DeviceIoControlAta(fd, WindowsIoctl.IOCTL_ATA_PASS_THROUGH, ref aptd, (uint)Marshal.SizeOf(aptd), ref aptd, (uint)Marshal.SizeOf(aptd), ref k, IntPtr.Zero); DateTime end = DateTime.Now; diff --git a/DiscImageChef.Devices/Windows/ListDevices.cs b/DiscImageChef.Devices/Windows/ListDevices.cs index 759650ecc..cc3a72eb1 100644 --- a/DiscImageChef.Devices/Windows/ListDevices.cs +++ b/DiscImageChef.Devices/Windows/ListDevices.cs @@ -100,7 +100,7 @@ namespace DiscImageChef.Devices.Windows uint returned = 0; int error = 0; - bool hasError = Extern.DeviceIoControlStorageQuery(fd, WindowsIoctl.IOCTL_STORAGE_QUERY_PROPERTY, ref query, (uint)Marshal.SizeOf(query), descriptorPtr, 1000, ref returned, IntPtr.Zero); + bool hasError = !Extern.DeviceIoControlStorageQuery(fd, WindowsIoctl.IOCTL_STORAGE_QUERY_PROPERTY, ref query, (uint)Marshal.SizeOf(query), descriptorPtr, 1000, ref returned, IntPtr.Zero); if (hasError) error = Marshal.GetLastWin32Error(); diff --git a/DiscImageChef.Tests/DiscImageChef.Tests.csproj b/DiscImageChef.Tests/DiscImageChef.Tests.csproj index 64805b31c..2484688a8 100644 --- a/DiscImageChef.Tests/DiscImageChef.Tests.csproj +++ b/DiscImageChef.Tests/DiscImageChef.Tests.csproj @@ -1,4 +1,4 @@ - + Debug @@ -170,13 +170,7 @@ - - - - - - - + {CC48B324-A532-4A45-87A6-6F91F7141E8D} @@ -211,6 +205,9 @@ DiscImageChef.Core + + +