my application pragram set the buffer equal to the driver’s MAX_TRANSFER_SIZE,and
i modify the wdk’s usbsamp driver to my camera device.it is run well usually,but
when the request timeout,I can not receive any datas,the transfer size is zero.
is it the bug of wdk ,when my request timeout,it can not return the actual read
size?
for example, when my application buffer size is 65536,and the driver
MAX_TRANSFER_SIZE is also 65536 ,I mean I send the io request to the driver ,and the
driver don’t split the size and build the urb and send to the device. my question is
,when the io request timeout ,is it return any dadas?
at the same time ,I reduce the size of the device,such as ,let the device’s max
transfer size less than MAX_TRANSFER_SIZE,and at this time, every time the io
request timeout,and can not get any actual size but zero bytes.
so my confuse when the URB request is timeout ,why the transfer size is zero,
and in my opinion,when timeout,it may be receive some datas ,and the receive
data is less than the transfer size.
in my driver,it set the urbFlags |= USBD_SHORT_TRANSFER_OK;
is there anybody can tell me why ,and give me some advice?