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



The information in this article applies to:

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 98

This article was previously published under Q216631

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 that this is a bug in the Microsoft products that are listed at the beginning of this article.

REFERENCES

For additional information about using a completion function on Windows 98, please see the following article in the Microsoft Knowledge Base:

192569 BUG: Winsock 2 APC Calls Get Lost on Windows 95 & 98.


Modification Type:MinorLast Reviewed:12/20/2004
Keywords:kbDSWNET2003Swept kbAPI kbbug kbGQos kbnetwork kbWinsock KB216631