Platform SDK: Windows Sockets

Function Interface Model

Windows Sockets transport and name space service providers are DLLs with a single exported procedure entry point for the service provider initialization function WSPStartup or NSPStartup, respectively. All other service provider functions are made accessible to the Ws2_32.dll through the service provider's dispatch table. Service provider DLL's are loaded into memory by the Ws2_32.dll only when needed, and are unloaded when their services are no longer required.

The SPI also defines several circumstances in which a transport service provider calls up into the Ws2_32.dll (upcalls) to obtain DLL support services. The transport service provider DLL is given the Ws2_32.dll's upcall dispatch table through the UpcallTable parameter to WSPStartup.

Service providers should have their file extension changed from "DLL" to ".WSP" or ".NSP". This requirement is not strict. A service provider will still operate with the Ws2_32.dll with any file extension.