Winsock SPI Functions

The following list provides concise descriptions of each Winsock SPI function. For additional information on any Winsock SPI function, click the function name. For information about prefix conventions, see Winsock SPI. For information about the Winsock SPI usage, see About the Winsock SPI.

Winsock SPI function Description
NSPCleanup Terminates the use of a Winsock namespace service provider.
NSPGetServiceClassInfo Retrieves class information (schema) pertaining to a specified namespace provider.
NSPInstallServiceClass Registers service class schema within the namespace providers.
NSPIoctl Sends an IOCTL to a namespace service provider.
NSPLookupServiceBegin Initiates a client query of a namespace version 1 service provider that is constrained by information contained within a WSAQUERYSET structure.
NSPLookupServiceEnd Frees a handle after previous calls to NSPLookupServiceBegin and NSPLookupServiceNext.
NSPLookupServiceNext Retrieves requested information from a namespace version 1 service provider. This function is called only after obtaining a handle from a previous call to NSPLookupServiceBegin.
NSPRemoveServiceClass Permanently removes a specified service class from the namespace.
NSPSetService Registers or deregisters a service instance within a namespace.
NSPStartup Retrieves dynamic information about a provider, such as the list of the DLL entry points.
NSPv2Cleanup Notifies a namespace service provider version 2 (NSPv2) provider that a client session has terminated.
NSPv2ClientSessionRundown Notifies a NSPv2 provider that the client session is terminating.
NSPv2LookupServiceBegin Initiates a client query of NSPv2 service provider that is constrained by the information contained within a WSAQUERYSET2 structure.
NSPv2LookupServiceEnd Frees a handle after previous calls to NSPv2LookupServiceBegin and NSPv2LookupServiceNextEx.
NSPv2LookupServiceNextEx Retrieves the requested information from a NSPv2 provider. This function is called only after obtaining a handle from a previous call to NSPv2LookupServiceBegin.
NSPv2SetServiceEx Registers or deregisters a name or service instance within a namespace of a NSPv2 provider.
NSPv2Startup Notifies a NSPv2 provider that a new client process is to begin using the provider.
WPUCloseEvent Closes an open event object handle.
WPUCloseSocketHandle Closes an existing socket handle.
WPUCloseThread Closes a thread opened with a call to WPUOpenCurrentThread.
WPUCompleteOverlappedRequest Performs overlapped I/O completion notification for overlapped I/O operations.
WPUCreateEvent Creates a new event object.
WPUCreateSocketHandle Creates a new socket handle.
WPUFDIsSet Checks the membership of the specified socket handle.
WPUGetProviderPath Retrieves the DLL path for the specified provider.
WPUModifyIFSHandle Receives a possibly modified IFS handle from Ws2_32.dll.
WPUOpenCurrentThread Opens a handle to the current thread that can be used with overlapped functions in a layered service provider.
WPUPostMessage Performs the standard Windows PostMessage function in a way that maintains backward compatibility with older versions of WSOCK32.dll.
WPUQueryBlockingCallback Returns a pointer to a callback function the service provider should invoke periodically while servicing blocking operations.
WPUQuerySocketHandleContext Queries the context value associated with the specified socket handle.
WPUQueueApc Queues a user mode–asynchronous procedure call (APC) to the specified thread in order to facilitate invocation of overlapped I/O completion routines.
WPUResetEvent Resets the state of the specified event object to nonsignaled.
WPUSetEvent Sets the state of the specified event object to signaled.
WSAAdvertiseProvider Makes a specific namespace version 2 provider available for all eligible clients.
WSAProviderCompleteAsyncCall Notifies a client when an asynchronous call to a namespace version 2 provider is completed.
WSAUnadvertiseProvider Makes a specific namespace version 2 provider no longer available for clients.
WSCDeinstallProvider Removes the specified transport service provider from the system configuration database.
WSCDeinstallProvider32 Removes the specified 32-bit transport provider from the system configuration database on a 64-bit platform.
WSCEnableNSProvider Enables or disables a specified namespace provider.
WSCEnableNSProvider32 Enables or disables a specified 32-bit namespace provider on a 64-bit platform.
WSCEnumNameSpaceProviders32 Returns information on available 32-bit namespace providers on a 64-bit platform.
WSCEnumNameSpaceProvidersEx32 Returns information on available 32-bit namespace providers on a 64-bit platform.
WSCEnumProtocols Retrieves information about available transport protocols.
WSCEnumProtocols32 Retrieves information about available transport protocols in the 32-bit catalog on 64-bit platforms.
WSCGetApplicationCategory Retrieves the layered service provider (LSP) categories associated with an application.
WSCGetProviderInfo Retrieves the data associated with an information class for a layered service provider.
WSCGetProviderInfo32 Retrieves the data associated with an information class for a 32-bit layered service provider on a 64-bit platform.
WSCGetProviderPath Retrieves the DLL path for the specified provider.
WSCGetProviderPath32 Retrieves the DLL path for the specified 32-bit provider on a 64-bit platform.
WSCInstallNameSpace Installs a namespace provider.
WSCInstallNameSpace32 Installs a 32-bit namespace provider on a 64 bit platform.
WSCInstallNameSpaceEx Installs a namespace provider.
WSCInstallNameSpaceEx32 Installs a 32-bit namespace provider on a 64 bit platform.
WSCInstallProvider Installs a transport service provider into the system configuration database.
WSCInstallProvider64_32 Installs the specified transport service provider into the 32-bit and 64-bit system configuration databases on a 64-bit platform.
WSCInstallProviderAndChains Installs a 32-bit transport service provider as well as its specific protocol chains into the system configuration database on a 32-bit platform.
WSCInstallProviderAndChains64_32 Installs the specified transport provider and its specific protocol chains into both the 32-bit and 64-bit system configuration databases on a 64-bit platform.
WSCSetApplicationCategory Sets the permitted layered service provider categories associated with an application.
WSCSetProviderInfo Sets the data value for the specified information class for a layered service provider.
WSCSetProviderInfo32 Sets the data value for the specified information class for a 32-bit layered service provider on a 64-bit platform.
WSCUnInstallNameSpace Uninstalls a namespace provider.
WSCUnInstallNameSpace32 Uninstalls a specific 32-bit namespace provider on a 32-bit platform.
WSCUpdateProvider Modifies a transport service provider in the system configuration database.
WSCUpdateProvider32 Modifies a 32-bit transport service provider in the system configuration database on a 64-bit platform.
WSCWriteNameSpaceOrder Changes the order of available namespace providers.
WSCWriteNameSpaceOrder32 Changes the order of available Windows Sockets (Winsock) 2 namespace providers in a 32-bit catalog on a 64-bit platform.
WSCWriteProviderOrder Re-orders available transport service providers.
WSCWriteProviderOrder32 Re-orders available transport service providers in a 32-bit catalog on a 64-bit platform.
WSPAccept Conditionally accepts a connection based on the return value of a condition function.
WSPAddressToString Converts all components of a sockaddr structure into a human readable–numeric string representation of the address.
WSPAsyncSelect Requests Windows message-based event notification of network events for a socket.
WSPBind Associates a local address with a socket.
WSPCancelBlockingCall Cancels a blocking call that is currently in progress.
WSPCleanup Terminates use of the Winsock service provider.
WSPCloseSocket Closes a socket.
WSPConnect Establishes a connection to a peer, exchanges connect data, and specifies needed quality of service based on the supplied flow specification.
WSPDuplicateSocket Returns a WSAPROTOCOL_INFO structure that can be used to create a new socket descriptor for a shared socket.
WSPEnumNetworkEvents Reports occurrences of network events for the indicated socket.
WSPEventSelect Specifies an event object to be associated with the supplied set of network events.
WSPGetOverlappedResult Returns the results of an overlapped operation on the specified socket.
WSPGetPeerName Retrieves the address of the peer to which a socket is connected.
WSPGetQOSByName Initializes a QOS structure based on a named template, or retrieves an enumeration of the available template names.
WSPGetSockName Retrieves the local name for a socket.
WSPGetSockOpt Retrieves a socket option.
WSPIoctl Controls the mode of a socket.
WSPJoinLeaf Joins a leaf node into a multipoint session, exchanges connect data, and specifies needed quality of service based on the supplied flow specifications.
WSPListen Establishes a socket to listen for incoming connections.
WSPRecv Receives data on a socket.
WSPRecvDisconnect Terminates reception on a socket, and if the socket is connection oriented, retrieves the disconnect data.
WSPRecvFrom Receives a datagram and stores the source address.
WSPSelect Determines the status of one or more sockets.
WSPSend Sends data on a connected socket.
WSPSendDisconnect Initiates termination of the connection for a socket and sends disconnect data.
WSPSendTo Sends data to a specific destination using overlapped I/O.
WSPSetSockOpt Sets a socket option.
WSPShutdown Disables sends and/or receives on a socket.
WSPSocket Creates a socket.
WSPStartup Initiates use of a Winsock service provider by a client.
WSPStringToAddress Converts a human-readable numeric string to a socket address structure suitable for passing to Winsock interface that take such a structure.

 

32-bit SPI Functions for 64-bit Platforms

Note

These calls are strictly 32-bit versions of native WSC function calls for use on 64-bit platforms by 32-bit processes. The definitions and semantics of these specific 32-bit calls are the same as their native counterparts.

 

32-bit Winsock SPI function Description
WSCDeinstallProvider32 Removes the specified 32-bit transport service provider from the system configuration database on a 64-bit platform.
WSCEnableNSProvider32 Changes the state of a given 32-bit namespace provider on a 64-bit platform.
WSCEnumNameSpaceProviders32 Returns a set of available 32-bit namespace providers on a 64-bit platform.
WSCEnumNameSpaceProvidersEx32 Returns information on available 32-bit namespace providers on a 64-bit platform.
WSCEnumProtocols32 Retrieves information about available 32-bit transport protocols on a 64-bit platform.
WSCGetProviderInfo32 Retrieves the data associated with an information class for a 32-bit layered service provider on a 64-bit platform.
WSCGetProviderPath32 Retrieves the DLL path for the specified 32-bit provider on a 64-bit platform.
WSCInstallNameSpace32 Installs a 32-bit namespace provider on a 64-bit platform.
WSCInstallNameSpaceEx32 Installs a namespace provider.
WSCInstallProvider64_32 Installs a transport service provider into the 32-bit and 64-bit system configuration databases on a 64-bit platform.
WSCInstallProviderAndChains64_32 Installs a transport service provider and its specific protocol chains into both the 32-bit and 64-bit system configuration databases on a 64-bit platform.
WSCSetProviderInfo32 Sets the data value for specified information class for a layered service provider on a 64-bit platform.
WSCUnInstallNameSpace32 Uninstalls a 32-bit namespace provider on a 64-bit platform.
WSCUpdateProvider32 Modifies a 32-bit transport service provider in the system configuration database on a 64-bit platform.
WSCWriteNameSpaceOrder32 Modifies the order of available namespace providers in a 32-bit catalog on a 64-bit platform.