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. |
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for