Windows Sockets 2

Overview of the Windows Sockets 2 technology.

To develop Windows Sockets 2, you need these headers:

For programming guidance for this technology, see:

Enumerations

Title Description
CONTROL_CHANNEL_TRIGGER_STATUS Specifies the status from a query for the REAL_TIME_NOTIFICATION_CAPABILITY transport setting for a TCP socket that is used with ControlChannelTrigger to receive background network notifications in a Windows Store app.
eWINDOW_ADVANCE_METHOD The eWINDOW_ADVANCE_METHOD enumeration specifies the window advance mode used for Reliable Multicast.
MULTICAST_MODE_TYPE Specifies the filter mode for multicast group addresses.
NAPI_PROVIDER_LEVEL Specifies the provider authority level of a NS_EMAIL namespace provider for a given domain.
NAPI_PROVIDER_TYPE Specifies the type of hosting expected for a namespace provider.
RIO_NOTIFICATION_COMPLETION_TYPE Specifies the type of completion queue notifications to use with the RIONotify function when sending or receiving data using the Winsock registered I/O extensions.
SOCKET_SECURITY_PROTOCOL Indicates the type of security protocol to be used on a socket to secure network traffic.
SOCKET_USAGE_TYPE Used to specified the usage type for the socket.
TCPSTATE Indicates the possible states of a Transmission Control Protocol (TCP) connection.
WSAECOMPARATOR The Windows Sockets WSAECOMPARATOR enumeration type is used for version-comparison semantics in Windows Sockets 2.
WSC_PROVIDER_INFO_TYPE Enumeration type is used to specify the information class of a layered service protocol (LSP) in Windows Sockets 2.

Functions

Title Description
__WSAFDIsSet The __WSAFDIsSet function specifies whether a socket is included in a set of socket descriptors.
__WSAFDIsSet The __WSAFDIsSet function specifies whether a socket is included in a set of socket descriptors.
accept The accept function permits an incoming connection attempt on a socket.
AcceptEx Accepts a new connection, returns the local and remote address, and receives the first block of data sent by the client application. Note  This function is a Microsoft-specific extension to the Windows Sockets specification. .
AcceptEx Accepts a new connection, returns the local and remote address, and receives the first block of data sent by the client application. Note  This function is a Microsoft-specific extension to the Windows Sockets specification. .
bind The bind function associates a local address with a socket.
bind The bind function associates a local address with a socket.
closesocket The closesocket function closes an existing socket.
closesocket The closesocket function closes an existing socket.
connect The connect function establishes a connection to a specified socket.
EnumProtocolsA The EnumProtocols function retrieves information about a specified set of network protocols that are active on a local host.
EnumProtocolsW The EnumProtocols function retrieves information about a specified set of network protocols that are active on a local host.
FD_SET Fd_set structure is used by Windows Sockets (Winsock) functions and service providers to place sockets into a set.
FD_SET Fd_set structure is used by Windows Sockets (Winsock) functions and service providers to place sockets into a set.
freeaddrinfo Frees address information that the getaddrinfo function dynamically allocates in addrinfo structures.
FreeAddrInfoEx Frees address information that the GetAddrInfoEx function dynamically allocates in addrinfoex structures.
FreeAddrInfoExW Frees address information that the GetAddrInfoEx function dynamically allocates in addrinfoex structures.
FreeAddrInfoW Frees address information that the GetAddrInfoW function dynamically allocates in addrinfoW structures.
gai_strerrorA The gai_strerror function assists in printing error messages based on the EAI_* errors returned by the getaddrinfo function.
gai_strerrorW The gai_strerror function assists in printing error messages based on the EAI_* errors returned by the getaddrinfo function.
GetAcceptExSockaddrs Parses the data obtained from a call to the AcceptEx function and passes the local and remote addresses to a sockaddr structure.Note  This function is a Microsoft-specific extension to the Windows Sockets specification. .
GetAcceptExSockaddrs Parses the data obtained from a call to the AcceptEx function and passes the local and remote addresses to a sockaddr structure.Note  This function is a Microsoft-specific extension to the Windows Sockets specification. .
GetAddressByNameA GetAddressByName is no longer available for use as of Windows Sockets 2.
GetAddressByNameW GetAddressByName is no longer available for use as of Windows Sockets 2.
getaddrinfo Provides protocol-independent translation from an ANSI host name to an address.
GetAddrInfoExA Provides protocol-independent name resolution with additional parameters to qualify which namespace providers should handle the request.
GetAddrInfoExCancel Cancels an asynchronous operation by the GetAddrInfoEx function.
GetAddrInfoExOverlappedResult Gets the return code for an OVERLAPPED structure used by an asynchronous operation for the GetAddrInfoEx function.
GetAddrInfoExW Provides protocol-independent name resolution with additional parameters to qualify which namespace providers should handle the request.
GetAddrInfoW Provides protocol-independent translation from a Unicode host name to an address.
gethostbyaddr gethostbyaddr is no longer recommended for use as of Windows Sockets 2.
gethostbyaddr gethostbyaddr is no longer recommended for use as of Windows Sockets 2.
gethostbyaddr gethostbyaddr is no longer recommended for use as of Windows Sockets 2.
gethostbyname The gethostbyname function retrieves host information corresponding to a host name from a host database.
gethostbyname The gethostbyname function retrieves host information corresponding to a host name from a host database.
gethostbyname The gethostbyname function retrieves host information corresponding to a host name from a host database.
gethostname The gethostname function retrieves the standard host name for the local computer.
gethostname The gethostname function retrieves the standard host name for the local computer.
GetHostNameW The GetHostNameW function retrieves the standard host name for the local computer as a Unicode string.
getipv4sourcefilter Retrieves the multicast filter state for an IPv4 socket.
GetNameByTypeA The GetNameByType function retrieves the name of a network service for the specified service type.
GetNameByTypeW The GetNameByType function retrieves the name of a network service for the specified service type.
getnameinfo Provides protocol-independent name resolution from an address to an ANSI host name and from a port number to the ANSI service name.
GetNameInfoW Provides protocol-independent name resolution from an address to a Unicode host name and from a port number to the Unicode service name.
getpeername The getpeername function retrieves the address of the peer to which a socket is connected.
getpeername The getpeername function retrieves the address of the peer to which a socket is connected.
getprotobyname The getprotobyname function retrieves the protocol information corresponding to a protocol name.
getprotobyname The getprotobyname function retrieves the protocol information corresponding to a protocol name.
getprotobynumber The getprotobynumber function retrieves protocol information corresponding to a protocol number.
getprotobynumber The getprotobynumber function retrieves protocol information corresponding to a protocol number.
getservbyname The getservbyname function retrieves service information corresponding to a service name and protocol.
getservbyname The getservbyname function retrieves service information corresponding to a service name and protocol.
getservbyport The getservbyport function retrieves service information corresponding to a port and protocol.
getservbyport The getservbyport function retrieves service information corresponding to a port and protocol.
GetServiceA The GetService function retrieves information about a network service in the context of a set of default namespaces or a specified namespace.
GetServiceW The GetService function retrieves information about a network service in the context of a set of default namespaces or a specified namespace.
getsockname The getsockname function retrieves the local name for a socket.
getsockname The getsockname function retrieves the local name for a socket.
getsockopt The getsockopt function retrieves a socket option.
getsockopt The getsockopt function retrieves a socket option.
getsourcefilter Retrieves the multicast filter state for an IPv4 or IPv6 socket.
GetTypeByNameA The GetTypeByName function retrieves a service type GUID for a network service specified by name.
GetTypeByNameW The GetTypeByName function retrieves a service type GUID for a network service specified by name.
htond Converts a double from host to TCP/IP network byte order (which is big-endian).
htonf Converts a float from host to TCP/IP network byte order (which is big-endian).
htonl The htonl function converts a u_long from host to TCP/IP network byte order (which is big-endian).
htonl The htonl function converts a u_long from host to TCP/IP network byte order (which is big-endian).
htonll Converts an unsigned __int64 from host to TCP/IP network byte order (which is big-endian).
htons The htons function converts a u_short from host to TCP/IP network byte order (which is big-endian).
htons The htons function converts a u_short from host to TCP/IP network byte order (which is big-endian).
inet_addr The inet_addr function converts a string containing an IPv4 dotted-decimal address into a proper address for the IN_ADDR structure.
inet_addr The inet_addr function converts a string containing an IPv4 dotted-decimal address into a proper address for the IN_ADDR structure.
inet_addr The inet_addr function converts a string containing an IPv4 dotted-decimal address into a proper address for the IN_ADDR structure.
inet_ntoa The inet_ntoa function converts an (Ipv4) Internet network address into an ASCII string in Internet standard dotted-decimal format.
inet_ntoa The inet_ntoa function converts an (Ipv4) Internet network address into an ASCII string in Internet standard dotted-decimal format.
inet_ntoa The inet_ntoa function converts an (Ipv4) Internet network address into an ASCII string in Internet standard dotted-decimal format.
inet_ntop The InetNtop function converts an IPv4 or IPv6 Internet network address into a string in Internet standard format. The ANSI version of this function is inet_ntop.
inet_pton The InetPton function converts an IPv4 or IPv6 Internet network address in its standard text presentation form into its numeric binary form. The ANSI version of this function is inet_pton.
InetNtopW The InetNtop function converts an IPv4 or IPv6 Internet network address into a string in Internet standard format. The ANSI version of this function is inet_ntop.
InetPtonW The InetPton function converts an IPv4 or IPv6 Internet network address in its standard text presentation form into its numeric binary form. The ANSI version of this function is inet_pton.
ioctlsocket The ioctlsocket function controls the I/O mode of a socket.
ioctlsocket The ioctlsocket function controls the I/O mode of a socket.
listen The listen function places a socket in a state in which it is listening for an incoming connection.
LPFN_CONNECTEX The ConnectEx function establishes a connection to a specified socket, and optionally sends data once the connection is established.
LPFN_DISCONNECTEX Closes a connection on a socket, and allows the socket handle to be reused.Note  This function is a Microsoft-specific extension to the Windows Sockets specification.
LPFN_RIOCLOSECOMPLETIONQUEUE Closes an existing completion queue used for I/O completion notification by send and receive requests with the Winsock registered I/O extensions.
LPFN_RIOCREATECOMPLETIONQUEUE Creates an I/O completion queue of a specific size for use with the Winsock registered I/O extensions.
LPFN_RIOCREATEREQUESTQUEUE Creates a registered I/O socket descriptor using a specified socket and I/O completion queues for use with the Winsock registered I/O extensions.
LPFN_RIODEQUEUECOMPLETION Removes entries from an I/O completion queue for use with the Winsock registered I/O extensions.
LPFN_RIODEREGISTERBUFFER Deregisters a registered buffer used with the Winsock registered I/O extensions.
LPFN_RIONOTIFY Registers the method to use for notification behavior with an I/O completion queue for use with the Winsock registered I/O extensions.
LPFN_RIORECEIVE Receives network data on a connected registered I/O TCP socket or a bound registered I/O UDP socket for use with the Winsock registered I/O extensions.
LPFN_RIORECEIVEEX Receives network data on a connected registered I/O TCP socket or a bound registered I/O UDP socket with additional options for use with the Winsock registered I/O extensions.
LPFN_RIOREGISTERBUFFER Registers a RIO_BUFFERID, a registered buffer descriptor, with a specified buffer for use with the Winsock registered I/O extensions.
LPFN_RIORESIZECOMPLETIONQUEUE Resizes an I/O completion queue to be either larger or smaller for use with the Winsock registered I/O extensions.
LPFN_RIORESIZEREQUESTQUEUE Resizes a request queue to be either larger or smaller for use with the Winsock registered I/O extensions.
LPFN_RIOSEND Sends network data on a connected registered I/O TCP socket or a bound registered I/O UDP socket for use with the Winsock registered I/O extensions.
LPFN_RIOSENDEX Sends network data on a connected registered I/O TCP socket or a bound registered I/O UDP socket with additional options for use with the Winsock registered I/O extensions.
LPFN_TRANSMITPACKETS Transmits in-memory data or file data over a connected socket.
LPNSPCLEANUP Terminates the use of a particular Windows Sockets namespace service provider.
LPNSPGETSERVICECLASSINFO Retrieves all the pertinent class information (schema) pertaining to the namespace provider.
LPNSPINSTALLSERVICECLASS The NSPInstallServiceClass function registers service class schema within the namespace providers.
LPNSPIOCTL Sends an IOCTL to a namespace service provider.
LPNSPLOOKUPSERVICEBEGIN Initiates a client query that is constrained by the information contained within a WSAQUERYSET structure.
LPNSPLOOKUPSERVICEEND Called to free the handle after previous calls to NSPLookupServiceBegin and NSPLookupServiceNext.
LPNSPLOOKUPSERVICENEXT Called after obtaining a handle from a previous call to NSPLookupServiceBegin in order to retrieve the requested service information.
LPNSPREMOVESERVICECLASS Permanently removes a specified service class from the namespace.
LPNSPSETSERVICE Registers or deregisters a service instance within a namespace.
LPNSPV2CLEANUP Notifies a namespace service provider version-2 (NSPv2) provider that a client session has terminated.
LPNSPV2CLIENTSESSIONRUNDOWN Notifies a namespace service provider version-2 (NSPv2) provider that the client session is terminating.
LPNSPV2LOOKUPSERVICEBEGIN Initiates a client query of a namespace version-2 service provider that is constrained by the information contained within a WSAQUERYSET2 structure.
LPNSPV2LOOKUPSERVICEEND Called to free the handle after previous calls to NSPv2LookupServiceBegin and NSPv2LookupServiceNextEx.
LPNSPV2LOOKUPSERVICENEXTEX Called after obtaining a handle from a previous call to NSPv2LookupServiceBegin in order to retrieve the requested information from a namespace version-2 service provider.
LPNSPV2SETSERVICEEX Registers or deregisters a name or service instance within a namespace of a namespace service provider version-2 (NSPv2) provider.
LPNSPV2STARTUP Notifies a namespace service provider version-2 (NSPv2) provider that a new client process is to begin using the provider.
LPWSPACCEPT The WSPAccept function conditionally accepts a connection based on the return value of a condition function.
LPWSPADDRESSTOSTRING The WSPAddressToString function converts all components of a sockaddr structure into a human readable–numeric string representation of the address. This is used mainly for display purposes.
LPWSPGETOVERLAPPEDRESULT The WSPGetOverlappedResult function returns the results of an overlapped operation on the specified socket.
LPWSPGETQOSBYNAME The WSPGetQOSByName function initializes a QOS structure based on a named template, or retrieves an enumeration of the available template names.
LPWSPJOINLEAF The WSPJoinLeaf function joins a leaf node into a multipoint session, exchanges connect data, and specifies needed quality of service based on the supplied flow specifications.
LPWSPSOCKET The WSPSocket function creates a socket.
LPWSPSTRINGTOADDRESS The WSPStringToAddress 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.
NSPStartup Retrieves the dynamic information about a provider, such as the list of the DLL entry points.
ntohd Converts an unsigned __int64 from TCP/IP network order to host byte order (which is little-endian on Intel processors) and returns a double.
ntohf Converts an unsigned __int32 from TCP/IP network order to host byte order (which is little-endian on Intel processors) and returns a float.
ntohl The ntohl function converts a u_long from TCP/IP network order to host byte order (which is little-endian on Intel processors).
ntohl The ntohl function converts a u_long from TCP/IP network order to host byte order (which is little-endian on Intel processors).
ntohll Converts an unsigned __int64 from TCP/IP network order to host byte order (which is little-endian on Intel processors).
ntohs The ntohs function converts a u_short from TCP/IP network byte order to host byte order (which is little-endian on Intel processors).
ntohs The ntohs function converts a u_short from TCP/IP network byte order to host byte order (which is little-endian on Intel processors).
recv Receives data from a connected socket or a bound connectionless socket.
recv Receives data from a connected socket or a bound connectionless socket.
recvfrom The recvfrom function receives a datagram and stores the source address.
recvfrom The recvfrom function receives a datagram and stores the source address.
select The select function determines the status of one or more sockets, waiting if necessary, to perform synchronous I/O.
send Sends data on a connected socket.
sendto The sendto function sends data to a specific destination.
sendto The sendto function sends data to a specific destination.
SetAddrInfoExA Registers or deregisters a name, a service name, and associated addresses with a specific namespace provider.
SetAddrInfoExW Registers or deregisters a name, a service name, and associated addresses with a specific namespace provider.
setipv4sourcefilter Sets the multicast filter state for an IPv4 socket.
SetServiceA The SetService function registers or removes from the registry a network service within one or more namespaces.
SetServiceW The SetService function registers or removes from the registry a network service within one or more namespaces.
SetSocketMediaStreamingMode Indicates whether the network is to be used for transferring streaming media that requires quality of service.
setsockopt Sets a socket option.
setsockopt Sets a socket option.
setsourcefilter Sets the multicast filter state for an IPv4 or IPv6 socket.
shutdown The shutdown function disables sends or receives on a socket.
shutdown The shutdown function disables sends or receives on a socket.
socket The socket function creates a socket that is bound to a specific transport service provider.
TransmitFile Transmits file data over a connected socket handle.
TransmitFile Transmits file data over a connected socket handle.
WPUCloseEvent The WPUCloseEvent function closes an open event object handle.
WPUCloseSocketHandle The WPUCloseSocketHandle function closes an existing socket handle.
WPUCloseThread The WPUCloseThread function closes a thread opened with a call to WPUOpenCurrentThread.
WPUCompleteOverlappedRequest The WPUCompleteOverlappedRequest function performs overlapped I/O completion notification for overlapped I/O operations.
WPUCreateEvent The WPUCreateEvent function creates a new event object.
WPUCreateSocketHandle The WPUCreateSocketHandle function creates a new socket handle.
WPUFDIsSet The WPUFDIsSet function checks the membership of the specified socket handle.
WPUGetProviderPath The WPUGetProviderPath function retrieves the DLL path for the specified provider.
WPUModifyIFSHandle The WPUModifyIFSHandle function receives a (possibly) modified IFS handle from Ws2_32.dll.
WPUOpenCurrentThread The WPUOpenCurrentThread function opens a handle to the current thread that can be used with overlapped functions in a layered service provider.
WPUPostMessage The WPUPostMessage function performs the standard Windows PostMessage function in a way that maintains backward compatibility with older versions of WSOCK32.dll.
WPUQueryBlockingCallback The WPUQueryBlockingCallback function returns a pointer to a callback function the service provider should invoke periodically while servicing blocking operations.
WPUQuerySocketHandleContext The WPUQuerySocketHandleContext function queries the context value associated with the specified socket handle.
WPUQueueApc The WPUQueueApc function queues a user mode–asynchronous procedure call (APC) to the specified thread in order to facilitate invocation of overlapped I/O completion routines.
WPUResetEvent The WPUResetEvent function resets the state of the specified event object to nonsignaled. This call is safe for use within interrupt context.
WPUSetEvent The WPUSetEvent function sets the state of the specified event object to signaled. This call is safe for use within interrupt context.
WSAAccept The WSAAccept function conditionally accepts a connection based on the return value of a condition function, provides quality of service flow specifications, and allows the transfer of connection data.
WSAAddressToStringA Converts all components of a sockaddr structure into a human-readable string representation of the address.
WSAAddressToStringW Converts all components of a sockaddr structure into a human-readable string representation of the address.
WSAAdvertiseProvider Makes a specific namespace version-2 provider available for all eligible clients.
WSAAsyncGetHostByAddr The WSAAsyncGetHostByAddr function asynchronously retrieves host information that corresponds to an address.Note  The WSAAsyncGetHostByAddr function is not designed to provide parallel resolution of several addresses.
WSAAsyncGetHostByAddr The WSAAsyncGetHostByAddr function asynchronously retrieves host information that corresponds to an address.Note  The WSAAsyncGetHostByAddr function is not designed to provide parallel resolution of several addresses.
WSAAsyncGetHostByAddr The WSAAsyncGetHostByAddr function asynchronously retrieves host information that corresponds to an address.Note  The WSAAsyncGetHostByAddr function is not designed to provide parallel resolution of several addresses.
WSAAsyncGetHostByName The WSAAsyncGetHostByName function asynchronously retrieves host information that corresponds to a host name.Note  The WSAAsyncGetHostByName function is not designed to provide parallel resolution of several names.
WSAAsyncGetHostByName The WSAAsyncGetHostByName function asynchronously retrieves host information that corresponds to a host name.Note  The WSAAsyncGetHostByName function is not designed to provide parallel resolution of several names.
WSAAsyncGetHostByName The WSAAsyncGetHostByName function asynchronously retrieves host information that corresponds to a host name.Note  The WSAAsyncGetHostByName function is not designed to provide parallel resolution of several names.
WSAAsyncGetProtoByName The WSAAsyncGetProtoByName function asynchronously retrieves protocol information that corresponds to a protocol name.
WSAAsyncGetProtoByName The WSAAsyncGetProtoByName function asynchronously retrieves protocol information that corresponds to a protocol name.
WSAAsyncGetProtoByNumber The WSAAsyncGetProtoByNumber function asynchronously retrieves protocol information that corresponds to a protocol number.
WSAAsyncGetProtoByNumber The WSAAsyncGetProtoByNumber function asynchronously retrieves protocol information that corresponds to a protocol number.
WSAAsyncGetServByName The WSAAsyncGetServByName function asynchronously retrieves service information that corresponds to a service name and port.
WSAAsyncGetServByName The WSAAsyncGetServByName function asynchronously retrieves service information that corresponds to a service name and port.
WSAAsyncGetServByPort The WSAAsyncGetServByPort function asynchronously retrieves service information that corresponds to a port and protocol.
WSAAsyncGetServByPort The WSAAsyncGetServByPort function asynchronously retrieves service information that corresponds to a port and protocol.
WSAAsyncSelect Requests Windows message-based notification of network events for a socket.
WSAAsyncSelect Requests Windows message-based notification of network events for a socket.
WSACancelAsyncRequest The WSACancelAsyncRequest function cancels an incomplete asynchronous operation.
WSACancelAsyncRequest The WSACancelAsyncRequest function cancels an incomplete asynchronous operation.
WSACancelBlockingCall The WSACancelBlockingCall function has been removed in compliance with the Windows Sockets 2 specification, revision 2.2.0.
WSACleanup The WSACleanup function terminates use of the WS2_32.dll.
WSACleanup The WSACleanup function terminates use of the WS2_32.dll.
WSACloseEvent The WSACloseEvent function closes an open event object handle.
WSAConnect The WSAConnect function establishes a connection to another socket application, exchanges connect data, and specifies required quality of service based on the specified FLOWSPEC structure.
WSAConnectByList Establishes a connection to one out of a collection of possible endpoints represented by a set of destination addresses (host names and ports).
WSAConnectByNameA Establishes a connection to a specified host and port.
WSAConnectByNameW Establishes a connection to a specified host and port.
WSACreateEvent The WSACreateEvent function creates a new event object.
WSADeleteSocketPeerTargetName Removes the association between a peer target name and an IP address for a socket. After a successful return, there will be no future association between the IP address and the target name.
WSADuplicateSocketA The WSADuplicateSocket function returns a WSAPROTOCOL_INFO structure that can be used to create a new socket descriptor for a shared socket. The WSADuplicateSocket function cannot be used on a QOS-enabled socket.
WSADuplicateSocketW The WSADuplicateSocket function returns a WSAPROTOCOL_INFO structure that can be used to create a new socket descriptor for a shared socket. The WSADuplicateSocket function cannot be used on a QOS-enabled socket.
WSAEnumNameSpaceProvidersA The WSAEnumNameSpaceProviders function retrieves information on available namespace providers.
WSAEnumNameSpaceProvidersExA Retrieves information on available namespace providers.
WSAEnumNameSpaceProvidersExW Retrieves information on available namespace providers.
WSAEnumNameSpaceProvidersW The WSAEnumNameSpaceProviders function retrieves information on available namespace providers.
WSAEnumNetworkEvents The WSAEnumNetworkEvents function discovers occurrences of network events for the indicated socket, clear internal network event records, and reset event objects (optional).
WSAEnumProtocolsA The WSAEnumProtocols function retrieves information about available transport protocols.
WSAEnumProtocolsW The WSAEnumProtocols function retrieves information about available transport protocols.
WSAEventSelect The WSAEventSelect function specifies an event object to be associated with the specified set of FD_XXX network events.
WSAGetLastError Returns the error status for the last Windows Sockets operation that failed.
WSAGetLastError Returns the error status for the last Windows Sockets operation that failed.
WSAGetOverlappedResult The WSAGetOverlappedResult function retrieves the results of an overlapped operation on the specified socket.
WSAGetQOSByName The WSAGetQOSByName function initializes a QOS structure based on a named template, or it supplies a buffer to retrieve an enumeration of the available template names.
WSAGetServiceClassInfoA The WSAGetServiceClassInfo function retrieves the class information (schema) pertaining to a specified service class from a specified namespace provider.
WSAGetServiceClassInfoW The WSAGetServiceClassInfo function retrieves the class information (schema) pertaining to a specified service class from a specified namespace provider.
WSAGetServiceClassNameByClassIdA The WSAGetServiceClassNameByClassId function retrieves the name of the service associated with the specified type. This name is the generic service name, like FTP or SNA, and not the name of a specific instance of that service.
WSAGetServiceClassNameByClassIdW The WSAGetServiceClassNameByClassId function retrieves the name of the service associated with the specified type. This name is the generic service name, like FTP or SNA, and not the name of a specific instance of that service.
WSAHtonl The WSAHtonl function converts a u_long from host byte order to network byte order.
WSAHtons The WSAHtons function converts a u_short from host byte order to network byte order.
WSAImpersonateSocketPeer Used to impersonate the security principal corresponding to a socket peer in order to perform application-level authorization.
WSAInstallServiceClassA The WSAInstallServiceClass function registers a service class schema within a namespace.
WSAInstallServiceClassW The WSAInstallServiceClass function registers a service class schema within a namespace.
WSAIoctl The WSAIoctl function controls the mode of a socket.
WSAIsBlocking This function has been removed in compliance with the Windows Sockets 2 specification, revision 2.2.0.
WSAJoinLeaf The WSAJoinLeaf function joins a leaf node into a multipoint session, exchanges connect data, and specifies needed quality of service based on the specified FLOWSPEC structures.
WSALookupServiceBeginA The WSALookupServiceBegin function initiates a client query that is constrained by the information contained within a WSAQUERYSET structure.
WSALookupServiceBeginW The WSALookupServiceBegin function initiates a client query that is constrained by the information contained within a WSAQUERYSET structure.
WSALookupServiceEnd The WSALookupServiceEnd function is called to free the handle after previous calls to WSALookupServiceBegin and WSALookupServiceNext.
WSALookupServiceNextA The WSALookupServiceNext function is called after obtaining a handle from a previous call to WSALookupServiceBegin in order to retrieve the requested service information.
WSALookupServiceNextW The WSALookupServiceNext function is called after obtaining a handle from a previous call to WSALookupServiceBegin in order to retrieve the requested service information.
WSANSPIoctl Enables developers to make I/O control calls to a registered namespace.
WSANtohl The WSANtohl function converts a u_long from network byte order to host byte order.
WSANtohs The WSANtohs function converts a u_short from network byte order to host byte order.
WSAPoll The WSAPoll function determines status of one or more sockets.
WSAProviderCompleteAsyncCall Notifies a client when an asynchronous call to a namespace version-2 provider is completed.
WSAProviderConfigChange The WSAProviderConfigChange function notifies the application when the provider configuration is changed.
WSAQuerySocketSecurity Queries information about the security applied to a connection on a socket.
WSARecv Receives data from a connected socket or a bound connectionless socket.
WSARecvDisconnect The WSARecvDisconnect function terminates reception on a socket, and retrieves the disconnect data if the socket is connection oriented.
WSARecvEx Receives data from a connected socket or a bound connectionless socket.
WSARecvEx Receives data from a connected socket or a bound connectionless socket.
WSARecvFrom Receives a datagram and stores the source address.
WSARemoveServiceClass The WSARemoveServiceClass function permanently removes the service class schema from the registry.
WSAResetEvent The WSAResetEvent function resets the state of the specified event object to nonsignaled.
WSARevertImpersonation Terminates the impersonation of a socket peer. This must be called after calling WSAImpersonateSocketPeer and finishing any access checks.
WSASend Sends data on a connected socket.
WSASendDisconnect The WSASendDisconnect function initiates termination of the connection for the socket and sends disconnect data.
WSASendMsg Sends data and optional control information from connected and unconnected sockets. Note  This function is a Microsoft-specific extension to the Windows Sockets specification. .
WSASendTo Sends data to a specific destination, using overlapped I/O where applicable.
WSASetBlockingHook This function has been removed in compliance with the Windows Sockets 2 specification, revision 2.2.0.
WSASetEvent The WSASetEvent function sets the state of the specified event object to signaled.
WSASetLastError The WSASetLastError function sets the error code that can be retrieved through the WSAGetLastError function.
WSASetLastError The WSASetLastError function sets the error code that can be retrieved through the WSAGetLastError function.
WSASetServiceA The WSASetService function registers or removes from the registry a service instance within one or more namespaces.
WSASetServiceW The WSASetService function registers or removes from the registry a service instance within one or more namespaces.
WSASetSocketPeerTargetName Is used to specify the peer target name (SPN) that corresponds to a peer IP address. This target name is meant to be specified by client applications to securely identify the peer that should be authenticated.
WSASetSocketSecurity Enables and applies security for a socket.
WSASocketA The WSASocket function creates a socket that is bound to a specific transport-service provider.
WSASocketW The WSASocket function creates a socket that is bound to a specific transport-service provider.
WSAStartup Initiates use of the Winsock DLL by a process.
WSAStartup Initiates use of the Winsock DLL by a process.
WSAStringToAddressA The WSAStringToAddress function converts a network address in its standard text presentation form into its numeric binary form in a sockaddr structure, suitable for passing to Windows Sockets routines that take such a structure.
WSAStringToAddressW The WSAStringToAddress function converts a network address in its standard text presentation form into its numeric binary form in a sockaddr structure, suitable for passing to Windows Sockets routines that take such a structure.
WSAUnadvertiseProvider Makes a specific namespace version-2 provider no longer available for clients.
WSAUnhookBlockingHook This function has been removed in compliance with the Windows Sockets 2 specification, revision 2.2.0.
WSAWaitForMultipleEvents Returns when one or all of the specified event objects are in the signaled state, when the time-out interval expires, or when an I/O completion routine has executed.
WSCDeinstallProvider Removes the specified transport provider from the system configuration database.
WSCDeinstallProvider32 Removes the specified 32-bit transport provider from the system configuration database.
WSCEnableNSProvider Changes the state of a given namespace provider.
WSCEnableNSProvider32 Enables or disables a specified 32-bit namespace provider.
WSCEnumNameSpaceProviders32 Returns information on available 32-bit namespace providers.Note  This call is a strictly 32-bit version of WSAEnumNameSpaceProviders for use on 64-bit platforms. It is provided to allow 64-bit processes to access the 32-bit catalogs. .
WSCEnumNameSpaceProvidersEx32 Retrieves information on available 32-bit namespace providers.
WSCEnumProtocols The WSCEnumProtocols function retrieves information about available transport protocols.
WSCEnumProtocols32 Retrieves information about available transport protocols.Note  This call is a strictly 32-bit version of WSCEnumProtocols for use on 64-bit platforms. It is provided to allow 64-bit processes to access the 32-bit catalogs. .
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 (LSP).
WSCGetProviderInfo32 Retrieves the data associated with an information class for a 32-bit layered service provider (LSP).Note  This call is a strictly 32-bit version of WSCGetProviderInfo for use on 64-bit platforms.
WSCGetProviderPath The WSCGetProviderPath function retrieves the DLL path for the specified provider.
WSCGetProviderPath32 Retrieves the DLL path for the specified 32-bit provider.Note  This call is a strictly 32-bit version of WSCGetProviderPath for use on 64-bit platforms. It is provided to allow 64-bit processes to access the 32-bit catalogs. .
WSCInstallNameSpace Installs a namespace provider.
WSCInstallNameSpace32 Installs a specified 32-bit namespace provider.
WSCInstallNameSpaceEx Installs a namespace provider.
WSCInstallNameSpaceEx32 Installs a specified 32-bit namespace provider.
WSCInstallProvider Installs the specified transport 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 computer.
WSCInstallProviderAndChains Installs the specified 32-bit transport provider as well as its specific protocol chains into the Winsock 2 system configuration database on a 32-bit computer.
WSCInstallProviderAndChains64_32 Installs the specified transport provider and its specific protocol chains into both the 32-bit and 64-bit Winsock 2 system configuration databases on a 64-bit computer.
WSCInstallQOSTemplate Installs the specified QoS template in the system configuration database.
WSCRemoveQOSTemplate Removes the specified QoS template from the system configuration database.
WSCSetApplicationCategory Sets the permitted layered service provider (LSP) categories associated with an application.
WSCSetProviderInfo Sets the data value for the specified information class for a layered service provider (LSP).
WSCSetProviderInfo32 Sets the data value for specified information class for a layered service provider (LSP).
WSCUnInstallNameSpace Uninstalls the indicated name-space provider.
WSCUnInstallNameSpace32 Uninstalls a specific 32-bit namespace provider.
WSCUpdateProvider Modifies the specified transport provider in the system configuration database.
WSCUpdateProvider32 Modifies the specified 32-bit transport provider in the system configuration database.Note  This call is a strictly 32-bit version of WSCUpdateProvider for use on 64-bit platforms. It is provided to allow 64-bit processes to access the 32-bit catalogs. .
WSCWriteNameSpaceOrder Changes the order of available Windows Sockets (Winsock) 2 namespace providers. The order of the namespace providers determines the priority of the namespace when enumerated or queried for name resolution.
WSCWriteNameSpaceOrder32 Changes the order of available Windows Sockets (Winsock) 2 namespace providers in a 32-bit catalog.
WSCWriteProviderOrder Used to reorder the available transport providers.
WSCWriteProviderOrder32 Used to reorder the available 32-bit transport providers.
WSPStartup The WSPStartup function initiates use of a Windows Sockets service provider interface (SPI) by a client.

Structures

Title Description
ADDRINFOA Used by the getaddrinfo function to hold host address information.
ADDRINFOEX2A Used by the GetAddrInfoEx function to hold host address information when both a canonical name and a fully qualified domain name have been requested.
ADDRINFOEX2W Used by the GetAddrInfoEx function to hold host address information when both a canonical name and a fully qualified domain name have been requested.
ADDRINFOEX3 Used by the GetAddrInfoEx function to hold host address information when a specific network interface has been requested.
ADDRINFOEX4 Used by the GetAddrInfoEx function to hold host address information when a specific network interface has been requested.
ADDRINFOEXA Used by the GetAddrInfoEx function to hold host address information.
ADDRINFOEXW Used by the GetAddrInfoEx function to hold host address information.
ADDRINFOW Used by the GetAddrInfoW function to hold host address information.
AFPROTOCOLS The AFPROTOCOLS structure supplies a list of protocols to which application programmers can constrain queries. The AFPROTOCOLS structure is used for query purposes only.
ASSOCIATE_NAMERES_CONTEXT_INPUT Contains the transport setting ID and handle to a fully qualified domain name.
ATM_ADDRESS The ATM_ADDRESS structure holds ATM address data for ATM-based sockets.
ATM_BHLI The ATM_BHLI structure is used to identify B-HLI information for an associated ATM socket.
ATM_BLLI The ATM_BLLI structure is used to identify B-LLI information for an associated ATM socket.
BLOB The BLOB structure, derived from Binary Large Object, contains information about a block of data.
BLOB The BLOB structure, derived from Binary Large Object, contains information about a block of data.
BLOB The BLOB structure, derived from Binary Large Object, contains information about a block of data.
CSADDR_INFO Contains Windows Sockets address information for a socket, network service, or namespace provider.
CSADDR_INFO Contains Windows Sockets address information for a socket, network service, or namespace provider.
fd_set Fd_set structure is used by Windows Sockets (Winsock) functions and service providers to place sockets into a set.
fd_set Fd_set structure is used by Windows Sockets (Winsock) functions and service providers to place sockets into a set.
GROUP_FILTER Provides multicast filtering parameters for multicast IPv6 or IPv4 addresses.
GROUP_REQ Provides multicast group information for IPv6 or IPv4 addresses.
GROUP_SOURCE_REQ Provides multicast group information for IPv6 or IPv4 addresses that includes the source IP address.
HOSTENT The hostent structure is used by functions to store information about a given host, such as host name, IPv4 address, and so forth.
HOSTENT The hostent structure is used by functions to store information about a given host, such as host name, IPv4 address, and so forth.
in_addr The in_addr structure represents an IPv4 Internet address.
IN_PKTINFO The in_pktinfo structure is used to store received packet address information, and is used by Windows to return information about received packets and also allows specifying the local IPv4 address to use for sending packets.
IN6_PKTINFO The in6_pktinfo structure is used to store received IPv6 packet address information, and is used by Windows to return information about received packets and also allows specifying the local IPv6 address to use for sending packets.
INET_PORT_RANGE Provides input data used by the SIO_ACQUIRE_PORT_RESERVATION IOCTL to acquire a runtime reservation for a block of TCP or UDP ports.
INET_PORT_RESERVATION_INSTANCE Contains a port reservation and a token for a block of TCP or UDP ports.
INET_PORT_RESERVATION_TOKEN Contains a port reservation token for a block of TCP or UDP ports.
INTERFACE_INFO The INTERFACE_INFO structure is used in conjunction with the SIO_GET_INTERFACE_LIST ioctl command to obtain information about an interface IP address.
INTERFACE_INFO_EX The INTERFACE_INFO_EX structure is used in conjunction with the SIO_GET_INTERFACE_LIST IOCTL command to obtain information about an interface IP address.
IP_MREQ The ip_mreq structure provides multicast group information for IPv4 addresses.
IP_MREQ_SOURCE The ip_mreq_source structure provides multicast group information for IPv4 addresses.
IP_MSFILTER The ip_msfilter structure provides multicast filtering parameters for IPv4 addresses.
IPV6_MREQ The ipv6_mreq structure provides multicast group information for IPv6 addresses.
IPX_ADDRESS_DATA The IPX_ADDRESS_DATA structure provides information about a specific adapter to which IPX is bound. Used in conjunction with getsockopt function calls that specify IPX_ADDRESS in the optname parameter.
IPX_NETNUM_DATA The IPX_NETNUM_DATA structure provides information about a specified IPX network number. Used in conjunction with getsockopt function calls that specify IPX_GETNETINFO in the optname parameter.
IPX_SPXCONNSTATUS_DATA The IPX_SPXCONNSTATUS_DATA structure provides information about a connected SPX socket.
LINGER Maintains information about a specific socket that specifies how that socket should behave when data is queued to be sent and the closesocket function is called on the socket.
LINGER Maintains information about a specific socket that specifies how that socket should behave when data is queued to be sent and the closesocket function is called on the socket.
NAPI_DOMAIN_DESCRIPTION_BLOB Describes a domain handled by a namespace provider for the NS_EMAIL namespace.
NAPI_PROVIDER_INSTALLATION_BLOB Contains the information required to install a namespace provider for the NS_EMAIL namespace.
NS_SERVICE_INFOA Contains information about a network service or a network service type in the context of a specified namespace, or a set of default namespaces.
NS_SERVICE_INFOW Contains information about a network service or a network service type in the context of a specified namespace, or a set of default namespaces.
NSP_ROUTINE Contains information regarding the functions implemented by a namespace service provider version 1 (NSPv1) provider.
NSPV2_ROUTINE Contains information on the functions implemented by a namespace service provider version-2 (NSPv2) provider.
PROTOCOL_INFOA Contains information about a protocol.
PROTOCOL_INFOW Contains information about a protocol.
PROTOENT The protoent structure contains the name and protocol numbers that correspond to a given protocol name.
PROTOENT The protoent structure contains the name and protocol numbers that correspond to a given protocol name.
REAL_TIME_NOTIFICATION_SETTING_INPUT Provides input settings to apply for the REAL_TIME_NOTIFICATION_CAPABILITY transport setting for a TCP socket that is used with ControlChannelTrigger to receive background network notifications in a Windows Store app.
REAL_TIME_NOTIFICATION_SETTING_OUTPUT Provides the output settings from a query for the REAL_TIME_NOTIFICATION_CAPABILITY transport setting for a TCP socket that is used with ControlChannelTrigger to receive background network notifications in a Windows Store app.
RIO_BUF Specifies a portion of a registered buffer used for sending or receiving network data with the Winsock registered I/O extensions.
RIO_EXTENSION_FUNCTION_TABLE Contains information on the functions that implement the Winsock registered I/O extensions.
RIO_NOTIFICATION_COMPLETION Specifies the method for I/O completion to be used with a RIONotify function for sending or receiving network data with the Winsock registered I/O extensions.
RIORESULT Contains data used to indicate request completion results used with the Winsock registered I/O extensions.
RM_FEC_INFO The RM_FEC_INFO structure specifies settings for using forward error correction (FEC) with Reliable Multicast. This structure is used with the RM_USE_FEC socket option.
RM_RECEIVER_STATS Provides statistical information for a Reliable Multicast receiver session. This structure is used with the RM_RECEIVER_STATISTICS socket option.
RM_SEND_WINDOW The RM_SEND_WINDOW structure specifies the Reliable Multicast send window. This structure is used with the RM_RATE_WINDOW_SIZE socket option.
RM_SENDER_STATS Provides statistical information for a Reliable Multicast sender session. This structure is used with the RM_SENDER_STATISTICS socket option.
SERVENT The servent structure is used to store or return the name and service number for a given service name.
SERVENT The servent structure is used to store or return the name and service number for a given service name.
SERVICE_ADDRESS Contains address information for a service. The structure can accommodate many types of interprocess communications (IPC) mechanisms and their address forms, including remote procedure calls (RPC), named pipes, and sockets.
SERVICE_ADDRESSES The SERVICE_ADDRESSES structure contains an array of SERVICE_ADDRESS data structures.
SERVICE_INFOA Contains information about a network service or a network service type.
SERVICE_INFOW Contains information about a network service or a network service type.
SERVICE_TYPE_INFO_ABSA The SERVICE_TYPE_INFO_ABS structure contains information about a network service type. Use SERVICE_TYPE_INFO_ABS to add a network service type to a namespace.
SERVICE_TYPE_INFO_ABSW The SERVICE_TYPE_INFO_ABS structure contains information about a network service type. Use SERVICE_TYPE_INFO_ABS to add a network service type to a namespace.
SERVICE_TYPE_VALUE_ABSA Contains information about a network-service type value. This information may be specific to a namespace.
SERVICE_TYPE_VALUE_ABSW Contains information about a network-service type value. This information may be specific to a namespace.
SOCKADDR The sockaddr structure varies depending on the protocol selected.
sockaddr_atm The Windows Sockets sockaddr_atm structure stores socket address information for ATM sockets.
sockaddr_gen Provides generic socket address information, and is used with the INTERFACE_INFO structure.
SOCKADDR_IN The sockaddr structure varies depending on the protocol selected.
sockaddr_in6_old The sockaddr structure varies depending on the protocol selected.
SOCKADDR_IRDA The SOCKADDR_IRDA structure is used in conjunction with IrDA socket operations, defined by address family AF_IRDA.
SOCKET_ADDRESS SOCKET_ADDRESS structure stores protocol-specific address information.
SOCKET_PEER_TARGET_NAME Contains the IP address and name for a peer target and the type of security protocol to be used on a socket.
SOCKET_PROCESSOR_AFFINITY Contains the association between a socket and an RSS processor core and NUMA node.
SOCKET_SECURITY_QUERY_INFO Contains security information returned by the WSAQuerySocketSecurity function.
SOCKET_SECURITY_QUERY_TEMPLATE Contains the security template used by the WSAQuerySocketSecurity function.
SOCKET_SECURITY_SETTINGS Specifies generic security requirements for a socket.
SOCKET_SECURITY_SETTINGS_IPSEC Specifies various security requirements and settings that are specific to IPsec.
TCP_INFO_v0 Contains the Transmission Control Protocol (TCP) statistics that were collected for a socket.
TCP_INITIAL_RTO_PARAMETERS Specifies data used by the SIO_TCP_INITIAL_RTO IOCTL to configure initial re-transmission timeout (RTO) parameters to be used on the socket.
TIMEVAL The timeval structure is used to specify a time interval. It is associated with the Berkeley Software Distribution (BSD) Time.h header file.
TIMEVAL The timeval structure is used to specify a time interval. It is associated with the Berkeley Software Distribution (BSD) Time.h header file.
TRANSMIT_FILE_BUFFERS The TRANSMIT_FILE_BUFFERS structure specifies data to be transmitted before and after file data during a TransmitFile function file transfer operation.
TRANSMIT_FILE_BUFFERS The TRANSMIT_FILE_BUFFERS structure specifies data to be transmitted before and after file data during a TransmitFile function file transfer operation.
TRANSMIT_PACKETS_ELEMENT Specifies a single data element to be transmitted by the TransmitPackets function.
TRANSPORT_SETTING_ID Specifies the transport setting ID used by the SIO_APPLY_TRANSPORT_SETTING and SIO_QUERY_TRANSPORT_SETTING IOCTLs to apply or query the transport setting for a socket.
TRANSPORT_SETTING_ID Specifies the transport setting ID used by the SIO_APPLY_TRANSPORT_SETTING and SIO_QUERY_TRANSPORT_SETTING IOCTLs to apply or query the transport setting for a socket.
WSABUF The WSABUF structure enables the creation or manipulation of a data buffer used by some Winsock functions.
WSACOMPLETION Specifies completion notification settings for I/O control calls made to a registered namespace.
WSADATA Contains information about the Windows Sockets implementation.
WSADATA Contains information about the Windows Sockets implementation.
WSAMSG Used with the WSARecvMsg and WSASendMsg functions to store address and optional control information about connected and unconnected sockets as well as an array of buffers used to store message data.
WSANAMESPACE_INFOA Contains all registration information for a namespace provider.
WSANAMESPACE_INFOEXA Contains all registration information for a namespace provider.
WSANAMESPACE_INFOEXW Contains all registration information for a namespace provider.
WSANAMESPACE_INFOW Contains all registration information for a namespace provider.
WSANETWORKEVENTS The WSANETWORKEVENTS structure is used to store a socket's internal information about network events.
WSANSCLASSINFOA The WSANSCLASSINFO structure provides individual parameter information for a specific Windows Sockets namespace.
WSANSCLASSINFOW The WSANSCLASSINFO structure provides individual parameter information for a specific Windows Sockets namespace.
WSAOVERLAPPED Provides a communication medium between the initiation of an overlapped I/O operation and its subsequent completion.
WSAPOLLFD Stores socket information used by the WSAPoll function.
WSAPROTOCOL_INFOA Used to store or retrieve complete information for a given protocol.
WSAPROTOCOL_INFOW Used to store or retrieve complete information for a given protocol.
WSAPROTOCOLCHAIN The WSAPROTOCOLCHAIN structure contains a counted list of Catalog Entry identifiers that comprise a protocol chain.
WSAQUERYSET2A Provides relevant information about a given service, including service class ID, service name , applicable namespace identifier and protocol information, as well as a set of transport addresses at which the service listens.
WSAQUERYSET2W Provides relevant information about a given service, including service class ID, service name , applicable namespace identifier and protocol information, as well as a set of transport addresses at which the service listens.
WSAQUERYSETA Provides relevant information about a given service, including service class ID, service name, applicable namespace identifier and protocol information, as well as a set of transport addresses at which the service listens.
WSAQUERYSETW Provides relevant information about a given service, including service class ID, service name, applicable namespace identifier and protocol information, as well as a set of transport addresses at which the service listens.
WSASERVICECLASSINFOA The WSASERVICECLASSINFO structure contains information about a specified service class. For each service class in Windows Sockets 2, there is a single WSASERVICECLASSINFO structure.
WSASERVICECLASSINFOW The WSASERVICECLASSINFO structure contains information about a specified service class. For each service class in Windows Sockets 2, there is a single WSASERVICECLASSINFO structure.
WSATHREADID The WSATHREADID structure enables a provider to identify a thread on which asynchronous procedure calls (APCs) can be queued using the WPUQueueApc function.
WSAVERSION The WSAVERSION structure provides version comparison in Windows Sockets.
WSC_PROVIDER_AUDIT_INFO Contains audit information for a layered service provider (LSP) entry in Windows Sockets 2.
WSPDATA The WSPDATA structure contains service provider information.
WSPPROC_TABLE Contains a table of pointers to service provider functions.
WSPUPCALLTABLE Contains a table of pointers to service provider upcall functions.