Transport Service Providers (Windows Embedded CE 6.0)
1/6/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_INFO structure, and the total set of such structures represents the catalog of installed protocols. Applications can retrieve the contents of this catalog by calling the WSAEnumProtocols function, and by examining the available WSAPROTOCOL_INFO structures to discover the communications attributes associated with each protocol.
The Transport Service Providers support IPv6. For more information about IPv6, see Core Protocols of IPv6 and 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_INFO structure 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
Concepts
Winsock Service Providers
Layered Protocols and Provider Chains