Each WinNet provider should be implemented as a dynamic-link library (DLL) that is specific to its underlying networking software. The MPR dynamically loads the DLL at startup and calls its entry points if the network it represents is active.
It is not necessary to have stub routines for unimplemented functions. However, the NPGetCaps function must be supported, and, if a provider supports resource enumeration, it must support all three Open/Enum/Close functions.