The following table shows the Winsock SPI functions with a description of the purpose of each.
| Programming element | Description |
|---|---|
| NSPCleanup | This function terminates the use of a particular Windows Sockets name space service provider. |
| NSPGetServiceClassInfo | This function retrieves all the pertinent class information (schema) pertaining to the name-space provider. |
| NSPInstallServiceClass | This function registers service class schema within the name-space providers. |
| NSPLookupServiceBegin | This function initiates a client query that is constrained by the information contained within a WSAQUERYSET structure. |
| NSPLookupServiceEnd | This function is called to free the handle after previous calls to NSPLookupServiceBegin and NSPLookupServiceNext. |
| NSPLookupServiceNext | This function is called after obtaining a handle from a previous call to NSPLookupServiceBegin in order to retrieve the requested service information. |
| NSPRemoveServiceClass | This function permanently removes a specified service class from the name space. |
| NSPSetService | This function registers or deregisters a service instance within a name space. |
| NSPStartup | This function retrieves the dynamic information about a provider, such as the list of the DLL entry points. |
| WPUCloseEvent | This function closes an open event object handle. |
| WPUCloseSocketHandle | This function closes an existing socket handle. |
| WPUCompleteOverlappedRequest | This function performs overlapped I/O completion notification for overlapped I/O operations. |
| WPUCreateEvent | This function creates a new event object. |
| WPUCreateSocketHandle | This function creates a new socket handle. |
| WPUFDIsSet | This function checks the membership of the specified socket handle. |
| WPUGetProviderPath | This function retrieves the DLL path for the specified provider. |
| WPUQueryBlockingCallback | This function returns a pointer to a callback function the service provider should invoke periodically while servicing blocking operations. |
| WPUQuerySocketHandleContext | This function queries the context value associated with the specified socket handle. |
| WPUResetEvent | This function resets the state of the specified event object to nonsignaled. |
| WPUSetEvent | This function sets the state of the specified event object to signaled. |
| WSCDeinstallProvider | This function removes the specified transport provider from the system configuration database. |
| WSCEnumProtocols | This function retrieves information about available transport protocols. |
| WSCInstallNameSpace | This function installs a name-space provider. |
| WSCInstallProvider | This function installs the specified transport provider into the system configuration database. |
| WSCUnInstallNameSpace | This function uninstalls the indicated name-space provider. |
| WSPAccept | This function conditionally accepts a connection based on the return value of a condition function. |
| WSPAddressToString | This function converts all parts of a sockaddr structure into a human readable–numeric string representation of the address. |
| WSPAsyncSelect | This function requests Windows message-based event notification of network events for a socket. |
| WSPBind | This function associates a local address (that is, name) with a socket. |
| WSPCleanup | This function terminates use of the Windows Sockets service provider. |
| WSPCloseSocket | This function closes a socket. |
| WSPConnect | This function establishes a connection to a peer, and exchanges connect data. |
| WSPDuplicateSocket | This function returns a structure that can be used to create a new socket descriptor for a shared socket. |
| WSPEnumNetworkEvents | This function reports occurrences of network events for the indicated socket. |
| WSPEventSelect | This function specifies an event object to be associated with the supplied set of network events. |
| WSPGetOverlappedResult | This function returns the results of an overlapped operation on the specified socket. |
| WSPEnumNetworkEvents | This function reports occurrences of network events for the indicated socket. |
| WSPEventSelect | This function specifies an event object to be associated with the supplied set of network events. |
| WSPGetOverlappedResult | This function returns the results of an overlapped operation on the specified socket. |
| WSPGetPeerName | This function gets the address of the peer to which a socket is connected. |
| WSPGetSockName | This function gets the local name for a socket. |
| WSPGetSockOpt | This function retrieves a socket option. |
| WSPIoctl | This function controls the mode of a socket. |
| WSPJoinLeaf | This function joins a leaf node into a multipoint session, and exchanges connect data. |
| WSPListen | This function establishes a socket to listen for incoming connections. |
| WSPRecv | This function receives data on a socket. |
| WSPRecvDisconnect | This function terminates reception on a socket and retrieves the disconnect data, if the socket is connection oriented. |
| WSPRecvFrom | This function receives a datagram and stores the source address. |
| WSPSelect | This function determines the status of one or more sockets. |
| WSPSend | This function sends data on a connected socket. |
| WSPSendDisconnect | This function initiates termination of the connection for the socket and sends disconnect data. |
| WSPSendTo | This function sends data to a specific destination using overlapped I/O. |
| WSPSetSockOpt | This function sets a socket option. |
| WSPShutdown | This function disables sends and/or receives on a socket. |
| WSPSocket | This function creates a socket. |
| WSPStartup | This function initiates use of a Windows Sockets service provider by a client. |
| WSPStringToAddress | This function converts a human-readable numeric string to a socket address structure (sockaddr) suitable to passing to Windows Sockets routines that take such a structure. |
Send Feedback on this topic to the authors