Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
Winsock 2.2 maintains full backward compatibility with Winsock 1.1 on two levels: source and binary. This maximizes interoperability between Windows Sockets applications of any version and Winsock implementations of any version. It also minimizes problems for users of Winsock applications, network stacks, and service providers. Current Windows Sockets 1.1 Specification-compliant applications operate on a Winsock 2.2 implementation without modification of any kind, as long as at least one TCP/IP service provider is properly installed.
Source Code Compatibility
Source code compatibility means, with few exceptions, that all the Winsock 1.1 functions are preserved in Winsock 2.2.
Winsock 1.1 application source code can be moved to the Winsock 2.2 system by including the new header file, Winsock2.h, and performing a straightforward link with the appropriate Winsock 2.2 libraries.
Binary Compatibility
Winsock 1.1 applications work, unchanged at a binary level, with Winsock 2.2. This is because Winsock 2.2 includes TCP/IP-based transport and name service providers.
Following installation guidelines for Winsock 2.2 ensures that the introduction of Winsock 2.2 functionality presents no negative impact to existing Winsock 1.0-based applications on a target device.
Note: |
---|
To obtain information about the underlying TCP/IP stack, Winsock 1.0 applications currently use certain members of the WSADATAstructure (obtained through a call to WSAStartup). These members include iMaxSockets, iMaxUdpDg, and lpVendorInfo. |
While Winsock 2.2 applications ignore these values because they cannot uniformly apply to all available protocol stacks, safe values are supplied to avoid breaking Winsock 1.1 applications.