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.
A version of this page is also available for
4/8/2010

A given transport service provider supports one or more protocols. For example, a TCP/IP provider would supply (as a minimum) the TCP and UDP protocols, while an IPX/SPX provider might supply IPX, SPX, and SPX II. Each protocol supported by a particular provider is described by a WSAPROTOCOL_INFOstructure, and the total set of such structures represents the catalog of installed protocols. Applications can retrieve the contents of this catalog by calling the WSAEnumProtocolsfunction, and by examining the available WSAPROTOCOL_INFOstructures to discover the communications attributes associated with each protocol.

The Transport Service Providers support IPv6. For more information about IPv6, see Core Protocols of IPv6and IPv6 Addressing.

Layered Protocols and Provider Chains in the SPI

Winsock supports layered protocols. A layered protocol implements only higher-level communications functions, while relying on an underlying transport stack for the actual exchange of data with a remote endpoint. An example of a layered protocol is a security layer that adds protocol to the connection process in order to perform authentication and establish an encryption scheme. Typically, such a security protocol would require the services of an underlying reliable transport protocol such as TCP or SPX.

This stringing together of layered protocols and base protocols into provider chains can be accomplished by arranging for the layered protocols to support the Winsock SPI at both their upper and lower edges. A special WSAPROTOCOL_INFOstructure is created which refers to the provider chain as a whole, and which describes the explicit order in which the layered protocols are joined.

See Also