About the Winsock SPI
Winsock provides a Service Provider Interface for creating Winsock services, commonly referred to as the Winsock SPI. Two types of service providers exist: transport providers and namespace providers. Examples of transport providers include protocol stacks such as TCP/IP or IPX/SPX, while an example of a namespace provider would be an interface to the Internet's Domain Naming System (DNS). Separate sections of the service provider interface specification apply to each type of service provider.
Transport and namespace service providers must be registered with the Ws2_32.dll at the time they are installed. This registration need only be done once for each provider as the necessary information is retained in persistent storage.