BUG: WSAIoctl(SIO_SET_QOS) Operates Synchronously When Using Overlapped I/OID: Q216631
|
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.
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.
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.
For additional information about using a completion function on Windows 98, please see the following
article in the Microsoft Knowledge Base:
Q192569 BUG: Winsock 2 APC Calls Get Lost on Windows 95 & 98.
Additional query words:
Keywords : kbnetwork kbAPI kbGQos kbSDKPlatform kbWinOS98 kbWinsock kbGrpNet
Version : WINDOWS:
Platform : WINDOWS
Issue type : kbbug
Last Reviewed: March 6, 1999