Microsoft KB Archive/216631

{|
 * width="100%"|

BUG: WSAIoctl(SIO_SET_QOS) Operates Synchronously When Using Overlapped I/O

 * }

Q216631

-

The information in this article applies to:


 * Microsoft Windows 98
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Professional

-

SYMPTOMS
When using the SIO_SET_QOS control code in WSAIoctl and the call to WSAIoctl includes either a WSAOVERLAPPED structure or a CompletionRoutine, the function does not return immediately, even if the call takes some time to complete. Thus the API does not return WSAEWOULDBLOCK. The effect is that calls to WSAIoctl(SIO_SET_QOS) operate in a synchronous fashion regardless of the presence of an overlapped structure or a completion function. This behavior does not occur when using the SIO_GET_QOS control code.

RESOLUTION
Though contrary to expectation, this behavior should not break application code written to handle overlapped I/O. Another mechanism you can use to avoid blocking, other than overlapped I/O, is multiple threads.

STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.