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;
 				}
 			}