Microsoft Windows 2000
On Microsoft Windows 2000, the maximum size of a USB transfer is determined by the device driver that is loaded for the USB device. The maximum size of USB transfers is determined in one of the following ways:- When the device driver selects the configuration of the device by means of the URB_FUNCTION_SELECT_CONFIGURATION function.
- When the device driver selects an alternative interface for the device by means of the URB_FUNCTION_SELECT_INTERFACE function.
Microsoft Windows XP and Microsoft Windows Server 2003
On both Microsoft Windows XP and Microsoft Windows Server 2003, the maximum size of a USB transfer is defined by the miniport driver of the USB host controller or by the USB port driver (Usbport.sys). (The maximum size of a USB transfer is not defined by the client driver of the device.) If you use more than the maximum size of a USB transfer, the transfer request may fail, or a stop error may appear on a blue-screen.On Windows XP and Windows Server 2003, when the maximum size of a transfer for a bulk endpoint is either less than 4 kilobytes (KB) or equal to 4 KB, the port driver splits the transaction into multiple transfers. Theoretically, this behavior makes the maximum size of a USB transfer unlimited for these endpoints. However, Microsoft has not tested very large transfers, and Microsoft does not recommend very large transfers.
Note On Windows XP and Windows Server 2003, the maximum size of USB transfers is not currently propagated to the client driver. This behavior may change in future versions of Windows.