Winsock 2.2 (Windows CE 5.0)

Windows CE 5.0
Send Feedback

The Windows Sockets (Winsock) interface provides a general-purpose networking application programming interface (API) based on the socket interface from the University of California at Berkeley. Winsock is designed to run efficiently on Windows operating systems while maintaining compatibility with the Berkeley Software Distribution (BSD) standard, known as Berkeley Sockets. Most Windows CE network communication passes through the Winsock interface. Windows CE implements the Winsock 2.2 and is fully backward compatible with the Winsock 1.1.

Winsock provides a protocol-independent interface fully capable of supporting emerging networking capabilities, such as real-time multimedia communications. It is used to discover and use communications capabilities of underlying transport protocols. Because it is not a protocol, it does not in any way affect the bits on the wire, and does not need to be used on both ends of a communications link.

Winsock provides access to multiple transport protocols allowing you to create applications that support multiple socket types. Winsock's support of multiple protocols also includes IPv6. Following the Windows Open System Architecture (WOSA) model, Winsock defines a standard service provider interface (SPI) between the application programming interface (API), with its functions exported from the Winsock DLL, Ws2.dll, and the protocol stacks. You can use the Winsock SPI to create your own transport service provider.

Winsock is divided into layers with flexible, installable providers that do the majority of the work. This alleviates the need to replace the winsock.dll with a custom version when a new protocol or modifier is needed. The following table shows the transport service providers for Winsock 2.2:

Transport service providerDescription
Base Service Provider A Base Service Provider fully implements a protocol. For example, TCPv4 is fully implemented by the WSPM provider that ships with Windows CE.

For more information about the built-in service providers that Windows CE provides, see Winsock Service Provider Interface (SPI).

Layered Service Provider (LSP)An LSP modifies a transport service provider, and therefore the protocol that it implements, to expand, restrict, or redirect its capabilities. For example, the SSL LSP is in the layer above the WSPM provider in what is called a provider chain. This LSP encrypts and decrypts data before it calls into WSPM. WSPM then sends and receives data using the TCP protocol.

You can implement an LSP to extend an existing transport service provider.

Note   Because the following protocols and technologies do not use the Winsock LSP model, you cannot modify them by writing an LSP:
  • DHCP, ICMP, and IGMP and other layer 3 protocols
  • DNS proxy
  • Redirector
  • SMB server

For more information, see Layered Protocols and Provider Chains.

For information about how these transport service providers work with Winsock, see Winsock Architecture.

Windows CE also supports socket-based infrared communications called Infrared.

Sockets (IrSock) by using industry standard Infrared Data Association (IrDA) Protocols. Applications implement Infrared Sockets in the same way as conventional Winsock, although several Winsock functions are used differently. Windows CE also supports Private Communication Technology 1.0 and Secure Sockets Layer (SSL) versions 2.0 and 3.0 security protocols. These protocols are available either directly from Winsock or through WinInet.

See Also

Winsock Support in Windows CE | Winsock Application Development | Installing an LSP | Windows Sockets Support for IPv6 | Winsock Secure Sockets | Creating an Infrared Winsock Application | Backward Compatibility for Windows Sockets 1.1 Applications

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.