From: Asaf Shelly on
Asking WinUSB to read a large buffer will fail with error 121 - "The
semaphore timeout period has expired" which means "timeout".
It looks like this result means that the function failed to fill the entire
buffer but there is some data in the buffer and the LengthTransferred
parameter says that there was some data sent.
Can anyone verify that? The documentation forgot to mention error 997 and 121.

Asaf

From: Tim Roberts on
Asaf Shelly <MSMediaForum(a)Shelly.co.il> wrote:
>
>Asking WinUSB to read a large buffer will fail with error 121 - "The
>semaphore timeout period has expired" which means "timeout".
>It looks like this result means that the function failed to fill the entire
>buffer but there is some data in the buffer and the LengthTransferred
>parameter says that there was some data sent.
>Can anyone verify that?

Did you set a timeout with SetPipePolicy? If so, then I believe this is
the normal course of events. ERROR_SEM_TIMEOUT in that case is not so much
an "error" as it is a "success with conditions"

>The documentation forgot to mention error 997 and 121.

ERROR_IO_PENDING is part of the standard protocol for doing overlapped I/O.
--
Tim Roberts, timr(a)probo.com
Providenza & Boekelheide, Inc.