Mercurial > hg > ucis.core
diff USBLib/Communication/LibUsb0/LibUsbDevice.cs @ 93:d467cd38b34e
USBLib: fix for large transfers with libusb0 on Windows, added driver uninstall function
author | Ivo Smits <Ivo@UCIS.nl> |
---|---|
date | Tue, 22 Apr 2014 16:40:35 +0200 |
parents | 2d16447eff12 |
children |
line wrap: on
line diff
--- a/USBLib/Communication/LibUsb0/LibUsbDevice.cs Fri Apr 04 23:21:33 2014 +0200 +++ b/USBLib/Communication/LibUsb0/LibUsbDevice.cs Tue Apr 22 16:40:35 2014 +0200 @@ -204,7 +204,7 @@ int transfered = 0; while (length > 0) { int ret; - DeviceIoControl(DeviceHandle, cltCode, ref req, LibUsbRequest.Size, (IntPtr)(b + offset), Math.Min(Int16.MaxValue, length), out ret); + DeviceIoControl(DeviceHandle, cltCode, ref req, LibUsbRequest.Size, (IntPtr)(b + offset), length, out ret); if (ret <= 0) throw new System.IO.EndOfStreamException(); length -= ret; offset += ret; @@ -214,7 +214,7 @@ } else { int cltCode = isochronous ? LibUsbIoCtl.ISOCHRONOUS_READ : LibUsbIoCtl.INTERRUPT_OR_BULK_READ; int ret; - DeviceIoControl(DeviceHandle, cltCode, ref req, LibUsbRequest.Size, (IntPtr)(b + offset), Math.Min(UInt16.MaxValue, length), out ret); + DeviceIoControl(DeviceHandle, cltCode, ref req, LibUsbRequest.Size, (IntPtr)(b + offset), length, out ret); return ret; } }