PRB: WSAStartup() May Return WSAVERNOTSUPPORTED on Second Call

Last reviewed: September 29, 1995
Article ID: Q130942
The information in this article applies to:
  • Microsoft Windows Software Development Kit (SDK) for Windows version 3.1
  • Microsoft Win32 Software Development Kit (SDK) versions 3.1, 3.5, 3.51, and 4.0

SYMPTOMS

If two sections of code within the same process call WSAStartup(), the second call to WSAStartup() fails and returns error WSAVERNOTSUPPORTED unless the second call specifies the version negotiated in the first call.

This happens even if the requested version would normally be accepted. Often the extra calls to WSAStartup() come from one or more DLLs loaded by the process.

RESOLUTION

If multiple calls are made to WSAStartup(), the second call must request the same version negotiated in the first call.

MORE INFORMATION

Some specific examples may help. Currently, if the version of Winsock requested is 1.1 or greater, the negotiated version will be 1.1. If a version less than 1.1 is requested, the call fails and returns the WSAVERNOTSUPPORTED error.

Example One

First call : 1.1 requested Second call: 1.1 requested

Result     : Success

Example Two

First call : 2.0 requested Second call: 1.1 requested

Result     : Success

Example Three

First call : 2.0 requested Second call: 2.0 requested

Result     : WSAVERNOTSUPPORTED

Example Four

First call : 1.1 requested Second call: 2.0 requested

Result     : WSAVERNOTSUPPORTED


Additional reference words: 3.50 4.00 95 3.10
KBCategory: kbnetwork kbprb
KBSubcategory: NtwkWinsock


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 29, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.