Multiple Transport Protocols
A version of this page is also available for
4/8/2010
Winsock provides simultaneous access to multiple transport protocols. Winsock is version-agnostic and supports multiple versions of a transport protocol, such as TCP/IPv4 and TCP/IPv6. Winsock defines a standard service provider interface (SPI) between Ws2.dll and the protocol stacks. In this way, a single Ws2.dll can simultaneously access multiple stacks from different vendors.
Because a single Ws2.dll must work across all stacks, you do not need to supply your own implementation of Ws2.dll. A transport protocol must be properly installed on the system and registered with Winsock to be accessible to an application. Ws2.dll exports a set of functions that facilitate the registration process enabling you to create a new provider and remove an existing one.
When registering, your installation script must supply one or more completed WSAPROTOCOL_INFO structures containing a complete set of information about the protocol. Any transport stack installed in this manner is referred to as a "Winsock service provider". For more information about how to install a transport stack, see Winsock Service Provider Interface (SPI).
See Also
Concepts
Windows Sockets Support for IPv6
Layered Protocols and Provider Chains
Determining the Status of One or More Sockets