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

 
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

 
__WSAFDIsSet

The __WSAFDIsSet function (winsock2.h) specifies whether a socket is included in a set of socket descriptors.
__WSAFDIsSet

The __WSAFDIsSet function (winsock.h) 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

The AcceptEx function (mswsock.h) accepts a new connection, returns the local and remote address, and receives the first block of data sent by the client application.
AcceptEx

The AcceptEx function (winsock.h) accepts a new connection, returns the local and remote address, and receives the first block of data sent by the client application.
ASSERT

bind

The bind function associates a local address with a socket. (bind function (winsock2.h))
bind

The bind function (winsock.h) associates a local address with a socket.
closesocket

The closesocket function closes an existing socket. (closesocket function (winsock2.h))
closesocket

The closesocket function (winsock.h) 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. (ANSI)
EnumProtocolsW

The EnumProtocols function retrieves information about a specified set of network protocols that are active on a local host. (Unicode)
FD_SET

The FD_SET macro (winsock2.h) is used by Windows Sockets (Winsock) functions and service providers to place sockets into a set.
FD_SET

The FD_SET macro (winsock.h) 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

The FreeAddrInfoEx function (ws2tcpip.h) frees address information that the GetAddrInfoEx function dynamically allocates in addrinfoex structures.
FreeAddrInfoExW

The FreeAddrInfoExW (Unicode) function (ws2tcpip.h) 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. (ANSI)
gai_strerrorW

The gai_strerror function assists in printing error messages based on the EAI_* errors returned by the getaddrinfo function. (Unicode)
GetAcceptExSockaddrs

The GetAcceptExSockaddrs function (mswsock.h) parses data obtained from a call to the AcceptEx function and passes local and remote addresses to a sockaddr structure.
GetAcceptExSockaddrs

The GetAcceptExSockaddrs function (winsock.h) parses the data obtained from a call to the AcceptEx function and passes the local and remote addresses to a sockaddr structure.
GetAddressByNameA

GetAddressByName is no longer available for use as of Windows Sockets 2. (ANSI)
GetAddressByNameW

GetAddressByName is no longer available for use as of Windows Sockets 2. (Unicode)
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. (ANSI)
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. (Unicode)
GetAddrInfoW

Provides protocol-independent translation from a Unicode host name to an address.
gethostbyaddr

The gethostbyaddr function retrieves the host information corresponding to a network address. (gethostbyaddr is no longer recommended, use getnameinfo instead)
gethostbyaddr

As of Windows Sockets 2, the gethostbyaddr function (winsock.h) is no longer recommended for use.
gethostbyaddr

The gethostbyaddr macro function (wsipv6ok.h) retrieves the host information corresponding to a network address.
gethostbyname

The gethostbyname function (winsock2.h) function retrieves host information corresponding to a host name from a host database.
gethostbyname

The gethostbyname function (winsock.h) retrieves host information corresponding to a host name from a host database.
gethostbyname

The gethostbyname macro function (wsipv6ok.h) retrieves host information corresponding to a host name from a host database.
gethostname

The gethostname function (winsock2.h) retrieves the standard host name for the local computer.
gethostname

The gethostname function (winsock.h) 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. (ANSI)
GetNameByTypeW

The GetNameByType function retrieves the name of a network service for the specified service type. (Unicode)
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 (winsock2.h) retrieves the address of the peer to which a socket is connected.
getpeername

The getpeername function (winsock.h) retrieves the address of the peer to which a socket is connected.
getprotobyname

The getprotobyname function (winsock2.h) retrieves the protocol information corresponding to a protocol name.
getprotobyname

The getprotobyname function (winsock.h) retrieves the protocol information corresponding to a protocol name.
getprotobynumber

The getprotobynumber function (winsock2.h) retrieves protocol information corresponding to a protocol number.
getprotobynumber

The getprotobynumber function (winsock.h) retrieves protocol information corresponding to a protocol number.
getservbyname

The getservbyname function (winsock2.h) retrieves service information corresponding to a service name and protocol.
getservbyname

The getservbyname function (winsock.h) retrieves service information corresponding to a service name and protocol.
getservbyport

The getservbyport function (winsock2.h) retrieves service information corresponding to a port and protocol.
getservbyport

The getservbyport function (winsock.h) 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. (ANSI)
GetServiceW

The GetService function retrieves information about a network service in the context of a set of default namespaces or a specified namespace. (Unicode)
getsockname

The getsockname function (winsock2.h) retrieves the local name for the specified socket descriptor.
getsockname

The getsockname function (winsock.h) retrieves the local name for a socket.
getsockopt

The getsockopt function retrieves the current value for a socket option associated with a socket of any type, in any state, and stores the result in optval.
getsockopt

The getsockopt function (winsock.h) 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. (ANSI)
GetTypeByNameW

The GetTypeByName function retrieves a service type GUID for a network service specified by name. (Unicode)
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 (winsock2.h) converts a u_long from host to TCP/IP network byte order, which is big-endian.
htonl

The htonl function (winsock.h) 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 (winsock2.h) converts a u_short from host to TCP/IP network byte order, which is big-endian.
htons

The htons function (winsock.h) converts a u_short from host to TCP/IP network byte order (which is big-endian).
IN4_ADDR_EQUAL

IN4_CLASSA

IN4_CLASSB

IN4_CLASSC

IN4_CLASSD

IN4_IS_ADDR_6TO4ELIGIBLE

IN4_IS_ADDR_BROADCAST

IN4_IS_ADDR_LINKLOCAL

IN4_IS_ADDR_LOOPBACK

IN4_IS_ADDR_MC_ADMINLOCAL

IN4_IS_ADDR_MC_LINKLOCAL

IN4_IS_ADDR_MC_SITELOCAL

IN4_IS_ADDR_MULTICAST

IN4_IS_ADDR_RFC1918

IN4_IS_ADDR_SITELOCAL

IN4_IS_ADDR_UNSPECIFIED

IN4_IS_UNALIGNED_ADDR_6TO4ELIGIBLE

IN4_IS_UNALIGNED_ADDR_BROADCAST

IN4_IS_UNALIGNED_ADDR_LINKLOCAL

IN4_IS_UNALIGNED_ADDR_LOOPBACK

IN4_IS_UNALIGNED_ADDR_MULTICAST

IN4_IS_UNALIGNED_ADDR_RFC1918

IN4_IS_UNALIGNED_ADDR_UNSPECIFIED

IN4_MULTICAST

IN4_UNALIGNED_ADDR_EQUAL

IN4_UNCANONICALIZE_SCOPE_ID

IN4ADDR_ISANY

IN4ADDR_ISEQUAL

IN4ADDR_ISLOOPBACK

IN4ADDR_ISUNSPECIFIED

IN4ADDR_SCOPE_ID

IN4ADDR_SETANY

IN4ADDR_SETLOOPBACK

IN4ADDR_SETSOCKADDR

IN6_ADDR_EQUAL

IN6_EXTRACT_V4ADDR_FROM_6TO4

IN6_EXTRACT_V4ADDR_FROM_ISATAP

IN6_GET_ADDR_V4COMPAT

IN6_GET_ADDR_V4MAPPED

IN6_IS_ADDR_6TO4

IN6_IS_ADDR_ALLNODESONLINK

IN6_IS_ADDR_ALLNODESONNODE

IN6_IS_ADDR_ALLROUTERSONLINK

IN6_IS_ADDR_ANYCAST

IN6_IS_ADDR_EUI64

IN6_IS_ADDR_GLOBAL

IN6_IS_ADDR_ISATAP

IN6_IS_ADDR_LINKLOCAL

IN6_IS_ADDR_LOOPBACK

IN6_IS_ADDR_MC_GLOBAL

IN6_IS_ADDR_MC_LINKLOCAL

IN6_IS_ADDR_MC_NODELOCAL

IN6_IS_ADDR_MC_ORGLOCAL

IN6_IS_ADDR_MC_SITELOCAL

IN6_IS_ADDR_MULTICAST

IN6_IS_ADDR_SITELOCAL

IN6_IS_ADDR_SOLICITEDNODE

IN6_IS_ADDR_SUBNET_RESERVED_ANYCAST

IN6_IS_ADDR_SUBNET_ROUTER_ANYCAST

IN6_IS_ADDR_TEREDO

IN6_IS_ADDR_UNSPECIFIED

IN6_IS_ADDR_V4COMPAT

IN6_IS_ADDR_V4MAPPED

IN6_IS_ADDR_V4TRANSLATED

IN6_MULTICAST_SCOPE

IN6_PREFIX_EQUAL

IN6_SET_6TO4_PREFIX

IN6_SET_ADDR_LOOPBACK

IN6_SET_ADDR_SOLICITEDNODE

IN6_SET_ADDR_UNSPECIFIED

IN6_SET_ADDR_V4COMPAT

IN6_SET_ADDR_V4MAPPED

IN6_SET_ISATAP_IDENTIFIER

IN6_UNCANONICALIZE_SCOPE_ID

IN6ADDR_IS6TO4

IN6ADDR_ISANY

IN6ADDR_ISEQUAL

IN6ADDR_ISISATAP

IN6ADDR_ISLOOPBACK

IN6ADDR_ISTEREDO

IN6ADDR_ISUNSPECIFIED

IN6ADDR_ISV4MAPPED

IN6ADDR_SETANY

IN6ADDR_SETLOOPBACK

IN6ADDR_SETSOCKADDR

IN6ADDR_SETV4MAPPED

inet_addr

The inet_addr function (winsock2.h) converts a string containing an IPv4 dotted-decimal address into a proper address for the IN_ADDR structure.
inet_addr

The inet_addr function (winsock.h) converts a string containing an IPv4 dotted-decimal address into a proper address for the IN_ADDR structure.
inet_addr

The inet_addr macro function (wsipv6ok.h) converts a string containing an IPv4 dotted-decimal address into a proper address for the IN_ADDR structure.
inet_ntoa

The inet_ntoa function (winsock2.h) converts an (Ipv4) Internet network address into an ASCII string in Internet standard dotted-decimal format.
inet_ntoa

The inet_ntoa function (winsock.h) converts an (Ipv4) Internet network address into an ASCII string in Internet standard dotted-decimal format.
inet_ntoa

The inet_ntoa macro function (wsipv6ok.h) 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. (InetNtopA or 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. (InetPtonA or 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. (InetNtopW)
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. (InetPtonW)
ioctlsocket

The ioctlsocket function (winsock2.h) controls the I/O mode of a socket and can be used on any socket in any state.
ioctlsocket

The ioctlsocket function (winsock.h) 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.
LPFN_WSARECVMSG

*LPFN_WSARECVMSG* is a function pointer type. You implement a matching WSARecvMsg callback function in your app. The system uses your callback function to transmit to you 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.
LPWSAOVERLAPPED_COMPLETION_ROUTINE

TBD (LPWSAOVERLAPPED_COMPLETION_ROUTINE)
LPWSPACCEPT

The LPWSPAccept function conditionally accepts a connection based on the return value of a condition function.
LPWSPADDRESSTOSTRING

The LPWSPAddressToString 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.
LPWSPASYNCSELECT

The LPWSPAsyncSelect function requests Windows message-based event notification of network events for a socket.
LPWSPBIND

The LPWSPBind function associates a local address (that is, name) with a socket.
LPWSPCANCELBLOCKINGCALL

The LPWSPCancelBlockingCall function cancels a blocking call that is currently in progress.
LPWSPCLEANUP

The LPWSPCleanup function terminates use of the Windows Sockets service provider.
LPWSPCLOSESOCKET

The LPWSPCloseSocket function closes a socket.
LPWSPCONNECT

The LPWSPConnect function establishes a connection to a peer, exchanges connect data, and specifies needed quality of service based on the supplied flow specification.
LPWSPDUPLICATESOCKET

The LPWSPDuplicateSocket function returns a WSAPROTOCOL_INFO structure that can be used to create a new socket descriptor for a shared socket.
LPWSPENUMNETWORKEVENTS

The LPWSPEnumNetworkEvents function reports occurrences of network events for the indicated socket.
LPWSPEVENTSELECT

The LPWSPEventSelect function specifies an event object to be associated with the supplied set of network events.
LPWSPGETOVERLAPPEDRESULT

The LPWSPGetOverlappedResult function returns the results of an overlapped operation on the specified socket.
LPWSPGETPEERNAME

The LPWSPGetPeerName function gets the address of the peer to which a socket is connected.
LPWSPGETQOSBYNAME

The LPWSPGetQOSByName function initializes a QOS structure based on a named template, or retrieves an enumeration of the available template names.
LPWSPGETSOCKNAME

The LPWSPGetSockName function gets the local name for a socket.
LPWSPGETSOCKOPT

The LPWSPGetSockOpt function retrieves a socket option.
LPWSPIOCTL

The LPWSPIoctl function controls the mode of a socket.
LPWSPJOINLEAF

The LPWSPJoinLeaf function joins a leaf node into a multipoint session, exchanges connect data, and specifies needed quality of service based on the supplied flow specifications.
LPWSPLISTEN

The LPWSPListen function establishes a socket to listen for incoming connections.
LPWSPRECV

The LPWSPRecv function receives data on a socket.
LPWSPRECVDISCONNECT

The LPWSPRecvDisconnect function terminates reception on a socket and retrieves the disconnect data, if the socket is connection oriented.
LPWSPRECVFROM

The LPWSPRecvFrom function receives a datagram and stores the source address.
LPWSPSELECT

The LPWSPSelect function determines the status of one or more sockets.
LPWSPSEND

The LPWSPSend function sends data on a connected socket.
LPWSPSENDDISCONNECT

The LPWSPSendDisconnect function initiates termination of the connection for the socket and sends disconnect data.
LPWSPSENDTO

The WSPSendTo function sends data to a specific destination using overlapped I/O.
LPWSPSETSOCKOPT

The LPWSPSetSockOpt function sets a socket option.
LPWSPSHUTDOWN

The LPWSPShutdown function disables sends and/or receives on a socket.
LPWSPSOCKET

The LPWSPSocket 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 (winsock2.h) converts a u_long from TCP/IP network order to host byte order (which is little-endian on Intel processors).
ntohl

The ntohl function (winsock.h) 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 (winsock2.h) 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 (winsock.h) converts a u_short from TCP/IP network byte order to host byte order, which is little-endian on Intel processors.
ProcessSocketNotifications

Associates a set of sockets with a completion port, and retrieves any notifications that are already pending on that port. Once associated, the completion port receives the socket state notifications that were specified.
recv

The recv function (winsock2.h) receives data from a connected socket or a bound connectionless socket.
recv

The recv function (winsock.h) 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. (send)
sendto

The sendto function (winsock2.h) is used to write outgoing data on a socket.
sendto

The sendto function (winsock.h) sends data to a specific destination.
SetAddrInfoExA

Registers or deregisters a name, a service name, and associated addresses with a specific namespace provider. (ANSI)
SetAddrInfoExW

Registers or deregisters a name, a service name, and associated addresses with a specific namespace provider. (Unicode)
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. (ANSI)
SetServiceW

The SetService function registers or removes from the registry a network service within one or more namespaces. (Unicode)
SetSocketMediaStreamingMode

Indicates whether the network is to be used for transferring streaming media that requires quality of service.
setsockopt

The setsockopt function (winsock2.h) sets the current value for a socket option associated with a socket of any type, in any state.
setsockopt

The setsockopt function (winsock.h) sets a socket option.
setsourcefilter

Sets the multicast filter state for an IPv4 or IPv6 socket.
shutdown

The shutdown function (winsock2.h) is used on all types of sockets to disable reception, transmission, or both.
shutdown

The shutdown function (winsock.h) disables sends or receives on a socket.
socket

The socket function creates a socket that is bound to a specific transport service provider.
SocketNotificationRetrieveEvents

This inline helper function is provided as a convenience to retrieve the events mask from an OVERLAPPED_ENTRY.
TransmitFile

The TransmitFile function (mswsock.h) transmits file data over a connected socket handle.
TransmitFile

The TransmitFile function (winsock.h) 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. (ANSI)
WSAAddressToStringW

Converts all components of a sockaddr structure into a human-readable string representation of the address. (Unicode)
WSAAdvertiseProvider

Makes a specific namespace version-2 provider available for all eligible clients.
WSAAsyncGetHostByAddr

The WSAAsyncGetHostByAddr function (winsock2.h) asynchronously retrieves host information that corresponds to an address.
WSAAsyncGetHostByAddr

The WSAAsyncGetHostByAddr function (winsock.h) asynchronously retrieves host information that corresponds to an address.
WSAAsyncGetHostByAddr

The WSAAsyncGetHostByAddr macro function (wsipv6ok.h) asynchronously retrieves host information that corresponds to an address.
WSAAsyncGetHostByName

The WSAAsyncGetHostByName function (winsock2.h) asynchronously retrieves host information that corresponds to a host name.
WSAAsyncGetHostByName

The WSAAsyncGetHostByName function (winsock.h) asynchronously retrieves host information that corresponds to a host name.
WSAAsyncGetHostByName

The WSAAsyncGetHostByName macro function (wsipv6ok.h) asynchronously retrieves host information that corresponds to a host name.
WSAAsyncGetProtoByName

The WSAAsyncGetProtoByName function (winsock2.h) asynchronously retrieves protocol information that corresponds to a protocol name.
WSAAsyncGetProtoByName

The WSAAsyncGetProtoByName function (winsock.h) asynchronously retrieves protocol information that corresponds to a protocol name.
WSAAsyncGetProtoByNumber

The WSAAsyncGetProtoByNumber function (winsock2.h) asynchronously retrieves protocol information that corresponds to a protocol number.
WSAAsyncGetProtoByNumber

The WSAAsyncGetProtoByNumber function (winsock.h) asynchronously retrieves protocol information that corresponds to a protocol number.
WSAAsyncGetServByName

The WSAAsyncGetServByName function (winsock2.h) asynchronously retrieves service information that corresponds to a service name and port.
WSAAsyncGetServByName

The WSAAsyncGetServByName function (winsock.h) asynchronously retrieves service information that corresponds to a service name and port.
WSAAsyncGetServByPort

The WSAAsyncGetServByPort function (winsock2.h) asynchronously retrieves service information that corresponds to a port and protocol.
WSAAsyncGetServByPort

The WSAAsyncGetServByPort function (winsock.h) asynchronously retrieves service information that corresponds to a port and protocol.
WSAAsyncSelect

The WSAAsyncSelect function (winsock2.h) requests Windows message based notification of network events for a socket.
WSAAsyncSelect

The WSAAsyncSelect function (winsock.h) requests Windows message-based notification of network events for a socket.
WSACancelAsyncRequest

The WSACancelAsyncRequest function (winsock2.h) cancels an incomplete asynchronous operation.
WSACancelAsyncRequest

The WSACancelAsyncRequest function (winsock.h) 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 (winsock2.h) terminates use of the WS2_32.dll.
WSACleanup

The WSACleanup function (winsock.h) 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. (ANSI)
WSAConnectByNameW

Establishes a connection to a specified host and port. (Unicode)
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. (ANSI)
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. (Unicode)
WSAEnumNameSpaceProvidersA

The WSAEnumNameSpaceProviders function retrieves information on available namespace providers. (ANSI)
WSAEnumNameSpaceProvidersExA

Retrieves information on available namespace providers. (ANSI)
WSAEnumNameSpaceProvidersExW

Retrieves information on available namespace providers. (Unicode)
WSAEnumNameSpaceProvidersW

The WSAEnumNameSpaceProviders function retrieves information on available namespace providers. (Unicode)
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. (ANSI)
WSAEnumProtocolsW

The WSAEnumProtocols function retrieves information about available transport protocols. (Unicode)
WSAEventSelect

The WSAEventSelect function specifies an event object to be associated with the specified set of FD_XXX network events.
WSAGetFailConnectOnIcmpError

Queries the state of the TCP_FAIL_CONNECT_ON_ICMP_ERROR socket option.
WSAGetIcmpErrorInfo

Retrieves information about an ICMP error received on a TCP socket during connection setup.
WSAGetIPUserMtu

Retrieves the user-defined IP layer MTU for a socket.
WSAGetLastError

The WSAGetLastError function (winsock2.h) returns the error status for the last Windows Sockets operation that failed.
WSAGetLastError

The WSAGetLastError function (winsock.h) 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. (ANSI)
WSAGetServiceClassInfoW

The WSAGetServiceClassInfo function retrieves the class information (schema) pertaining to a specified service class from a specified namespace provider. (Unicode)
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. (ANSI)
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. (Unicode)
WSAGetUdpRecvMaxCoalescedSize

Retrieves the maximum size of a received, coalesced message for a UDP socket.
WSAGetUdpSendMessageSize

Retrieves the segmentation message size for a UDP socket.
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. (ANSI)
WSAInstallServiceClassW

The WSAInstallServiceClass function registers a service class schema within a namespace. (Unicode)
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. (WSAIsBlocking)
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. (ANSI)
WSALookupServiceBeginW

The WSALookupServiceBegin function initiates a client query that is constrained by the information contained within a WSAQUERYSET structure. (Unicode)
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. (ANSI)
WSALookupServiceNextW

The WSALookupServiceNext function is called after obtaining a handle from a previous call to WSALookupServiceBegin in order to retrieve the requested service information. (Unicode)
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. (WSARecv)
WSARecvDisconnect

The WSARecvDisconnect function terminates reception on a socket, and retrieves the disconnect data if the socket is connection oriented.
WSARecvEx

The WSARecvEx function (mswsock.h) receives data from a connected socket or a bound connectionless socket.
WSARecvEx

The WSARecvEx function (winsock.h) 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. (WSASend)
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. (WSASetBlockingHook)
WSASetEvent

The WSASetEvent function sets the state of the specified event object to signaled.
WSASetFailConnectOnIcmpError

Sets the state of the TCP_FAIL_CONNECT_ON_ICMP_ERROR socket option.
WSASetIPUserMtu

Sets the user-defined IP layer MTU on a socket.
WSASetLastError

The WSASetLastError function (winsock2.h) sets the error code that can be retrieved through the WSAGetLastError function.
WSASetLastError

The WSASetLastError function (winsock.h) 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. (ANSI)
WSASetServiceW

The WSASetService function registers or removes from the registry a service instance within one or more namespaces. (Unicode)
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.
WSASetUdpRecvMaxCoalescedSize

Sets the maximum size of a coalesced message set on a UDP socket.
WSASetUdpSendMessageSize

Sets the segmentation message size on a UDP socket.
WSASocketA

The WSASocket function creates a socket that is bound to a specific transport-service provider. (ANSI)
WSASocketW

The WSASocket function creates a socket that is bound to a specific transport-service provider. (Unicode)
WSAStartup

The WSAStartup function (winsock2.h) initiates use of the Winsock DLL by a process.
WSAStartup

The WSAStartup function (winsock.h) 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. (ANSI)
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. (Unicode)
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. (WSAUnhookBlockingHook)
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. (WSCInstallNameSpace)
WSCInstallNameSpace32

Installs a specified 32-bit namespace provider. (WSCInstallNamespace32)
WSCInstallNameSpaceEx

Installs a namespace provider. (WSCInstallNameSpaceEx)
WSCInstallNameSpaceEx32

Installs a specified 32-bit namespace provider. (WSCInstallNameSpaceEx32)
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

 
ADDRINFO_DNS_SERVER

Represents a custom Domain Name System (DNS) server, used in the Winsock APIs.
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. (ANSI)
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. (Unicode)
ADDRINFOEX3

Used by the GetAddrInfoEx function to hold host address information when a specific network interface has been requested. (addrinfoex3W)
ADDRINFOEX4

Used by the GetAddrInfoEx function to hold host address information when a specific network interface has been requested. (addrinfoex4W)
ADDRINFOEX5

Used by the GetAddrInfoExW function to hold host address information when a specific network interface has been requested. (ADDRINFOEX5)
ADDRINFOEX6

Used by the GetAddrInfoExW function to hold host address information when a specific network interface has been requested. (ADDRINFOEX6)
ADDRINFOEXA

Used by the GetAddrInfoEx function to hold host address information. (ANSI)
ADDRINFOEXW

Used by the GetAddrInfoEx function to hold host address information. (Unicode)
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 (wtypesbase.h) structure, derived from Binary Large Object, contains information about a block of data.
BLOB

The BLOB structure (winsock2.h), derived from Binary Large Object, contains information about a block of data.
BLOB

The BLOB structure (nspapi.h), which is derived from Binary Large Object, contains information about a block of data.
CSADDR_INFO

The CSADDR_INFO (ws2def.h) structure contains Windows Sockets address information for a socket, network service, or namespace provider.
CSADDR_INFO

The CSADDR_INFO structure (nspapi.h) contains Windows Sockets address information for a socket, network service, or namespace provider.
fd_set

The Fd_set structure (winsock2.h) is used by Windows Sockets (Winsock) functions and service providers to place sockets into a set.
fd_set

The fd_set structure (winsock.h) 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 (winsock2.h) is used by functions to store information about a given host, such as host name, IPv4 address, and so forth.
HOSTENT

The HOSTENT (winsock.h) structure is used by functions to store information about a given host, such as host name, IPv4 address, and so forth.
ICMP_ERROR_INFO

Used to store received ICMP error information.
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

The LINGER structure (winsock2.h) maintains information about a specific socket that specifies how that socket should behave when data is queued.
LINGER

The LINGER (winsock.h) structure maintains information about a specific socket that specifies how that socket should behave when data is queued to be sent.
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. (ANSI)
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. (Unicode)
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. (ANSI)
PROTOCOL_INFOW

Contains information about a protocol. (Unicode)
PROTOENT

The PROTOENT structure (winsock2.h) contains the name and protocol numbers that correspond to a given protocol name.
PROTOENT

The PROTOENT (winsock.h) 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 (winsock2.h) is used to store or return the name and service number for a given service name.
SERVENT

The SERVENT (winsock.h) 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. (ANSI)
SERVICE_INFOW

Contains information about a network service or a network service type. (Unicode)
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. (ANSI)
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. (Unicode)
SERVICE_TYPE_VALUE_ABSA

Contains information about a network-service type value. This information may be specific to a namespace. (ANSI)
SERVICE_TYPE_VALUE_ABSW

Contains information about a network-service type value. This information may be specific to a namespace. (Unicode)
SOCK_NOTIFY_REGISTRATION

Represents info supplied to the ProcessSocketNotifications function.
SOCKADDR

The sockaddr structure varies depending on the protocol selected. (sockaddr)
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_IN (winsock.h) structure varies depending on the protocol selected.
sockaddr_in6_old

The sockaddr_in6_old (ws2ipdef.h) 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_INFO_v1

Contains the Transmission Control Protocol (TCP) statistics that were collected for a socket. (version 1.0)
TCP_INITIAL_RTO_PARAMETERS

Specifies data used by the SIO_TCP_INITIAL_RTO IOCTL to configure initial retransmission timeout (RTO) parameters to be used on the socket.
TIMESTAMPING_CONFIG

Describes the input structure used by the SIO_TIMESTAMPING IOCTL to configure timestamp reception for a datagram socket.
TIMEVAL

The TIMEVAL structure (winsock2.h) is used to specify a time interval. It is associated with the Berkeley Software Distribution (BSD) Time.h header file.
TIMEVAL

The TIMEVAL (winsock.h) 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 (mswsock.h) specifies data to be transmitted before and after file data during a TransmitFile function file transfer operation.
TRANSMIT_FILE_BUFFERS

The TRANSMIT_FILE_BUFFERS (winsock.h) 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

The TRANSPORT_SETTING_ID structure (mstcpip.h) specifies the transport setting ID used by specific IOCTLs to apply or query the transport setting for a socket.
TRANSPORT_SETTING_ID

The TRANSPORT_SETTING_ID (transportsettingcommon.h) structure specifies the transport setting ID used by the SIO_APPLY_TRANSPORT_SETTING and SIO_QUERY_TRANSPORT_SETTING IOCTLs.
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

The WSADATA structure (winsock2.h) contains information about the Windows Sockets implementation.
WSADATA

The WSADATA (winsock.h) structure 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_INFOA)
WSANAMESPACE_INFOEXA

Contains all registration information for a namespace provider. (WSANAMESPACE_INFOEXA)
WSANAMESPACE_INFOEXW

Contains all registration information for a namespace provider. (WSANAMESPACE_INFOEXW)
WSANAMESPACE_INFOW

Contains all registration information for a namespace provider. (WSANAMESPACE_INFOW)
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. (ANSI)
WSANSCLASSINFOW

The WSANSCLASSINFO structure provides individual parameter information for a specific Windows Sockets namespace. (Unicode)
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. (ANSI)
WSAPROTOCOL_INFOW

Used to store or retrieve complete information for a given protocol. (Unicode)
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. (ANSI)
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. (Unicode)
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. (ANSI)
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. (Unicode)
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. (ANSI)
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. (Unicode)
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.