diff --git a/DiscImageChef.Devices/Device/Constructor.cs b/DiscImageChef.Devices/Device/Constructor.cs index 888c0401..422fe082 100644 --- a/DiscImageChef.Devices/Device/Constructor.cs +++ b/DiscImageChef.Devices/Device/Constructor.cs @@ -154,10 +154,10 @@ namespace DiscImageChef.Devices descriptor.DeviceTypeModifier = descriptorB[9]; descriptor.RemovableMedia = descriptorB[10] > 0; descriptor.CommandQueueing = descriptorB[11] > 0; - descriptor.VendorIdOffset = BitConverter.ToUInt32(descriptorB, 12); - descriptor.ProductIdOffset = BitConverter.ToUInt32(descriptorB, 16); - descriptor.ProductRevisionOffset = BitConverter.ToUInt32(descriptorB, 20); - descriptor.SerialNumberOffset = BitConverter.ToUInt32(descriptorB, 24); + descriptor.VendorIdOffset = BitConverter.ToInt32(descriptorB, 12); + descriptor.ProductIdOffset = BitConverter.ToInt32(descriptorB, 16); + descriptor.ProductRevisionOffset = BitConverter.ToInt32(descriptorB, 20); + descriptor.SerialNumberOffset = BitConverter.ToInt32(descriptorB, 24); descriptor.BusType = (Windows.StorageBusType)BitConverter.ToUInt32(descriptorB, 28); descriptor.RawPropertiesLength = BitConverter.ToUInt32(descriptorB, 32); descriptor.RawDeviceProperties = new byte[descriptor.RawPropertiesLength]; diff --git a/DiscImageChef.Devices/Windows/ListDevices.cs b/DiscImageChef.Devices/Windows/ListDevices.cs index d7378ee9..16f0d3be 100644 --- a/DiscImageChef.Devices/Windows/ListDevices.cs +++ b/DiscImageChef.Devices/Windows/ListDevices.cs @@ -114,10 +114,10 @@ namespace DiscImageChef.Devices.Windows descriptor.DeviceTypeModifier = descriptorB[9]; descriptor.RemovableMedia = BitConverter.ToBoolean(descriptorB, 10); descriptor.CommandQueueing = BitConverter.ToBoolean(descriptorB, 11); - descriptor.VendorIdOffset = BitConverter.ToUInt32(descriptorB, 12); - descriptor.ProductIdOffset = BitConverter.ToUInt32(descriptorB, 16); - descriptor.ProductRevisionOffset = BitConverter.ToUInt32(descriptorB, 20); - descriptor.SerialNumberOffset = BitConverter.ToUInt32(descriptorB, 24); + descriptor.VendorIdOffset = BitConverter.ToInt32(descriptorB, 12); + descriptor.ProductIdOffset = BitConverter.ToInt32(descriptorB, 16); + descriptor.ProductRevisionOffset = BitConverter.ToInt32(descriptorB, 20); + descriptor.SerialNumberOffset = BitConverter.ToInt32(descriptorB, 24); descriptor.BusType = (StorageBusType)BitConverter.ToUInt32(descriptorB, 28); descriptor.RawPropertiesLength = BitConverter.ToUInt32(descriptorB, 32); diff --git a/DiscImageChef.Devices/Windows/Structs.cs b/DiscImageChef.Devices/Windows/Structs.cs index 8c672e9c..2c4dc046 100644 --- a/DiscImageChef.Devices/Windows/Structs.cs +++ b/DiscImageChef.Devices/Windows/Structs.cs @@ -166,10 +166,10 @@ namespace DiscImageChef.Devices.Windows public byte DeviceTypeModifier; [MarshalAs(UnmanagedType.U1)] public bool RemovableMedia; [MarshalAs(UnmanagedType.U1)] public bool CommandQueueing; - public uint VendorIdOffset; - public uint ProductIdOffset; - public uint ProductRevisionOffset; - public uint SerialNumberOffset; + public int VendorIdOffset; + public int ProductIdOffset; + public int ProductRevisionOffset; + public int SerialNumberOffset; public StorageBusType BusType; public uint RawPropertiesLength; public byte[] RawDeviceProperties;