TimeOut limits the length of time that a XferData call will wait for the transfer to complete. The units of TimeOut are milliseconds.
For CyControlEndPoint, a TimeOut of 0 will wait forever unless the transaction completes. TimeOut has no effect on Isochronous endpoints since they will always transfer data or fail immediately.
Also, For CyControlEndPoint, the TimeOut is rounded down to the nearest 1000 ms, except for values between 0 and 1000 which are rounded up to 1000.