35#define WSPDESCRIPTION_LEN 255
37#define WSS_OPERATION_IN_PROGRESS 0x00000103L
84 _In_ unsigned int wMsg,
137 _In_ long lNetworkEvents,
370 _Out_ LPBLOCKINGCALLBACK
FAR *lplpfnCallback,
383 _In_ LPWSAUSERAPC lpfnUserApc,
512#if(_WIN32_WINNT >= 0x0501)
522 _In_opt_ LPWSACOMPLETION lpCompletion,
629#if (_WIN32_WINNT >= 0x0600)
631#define LSP_SYSTEM 0x80000000
632#define LSP_INSPECTOR 0x00000001
633#define LSP_REDIRECTOR 0x00000002
634#define LSP_PROXY 0x00000004
635#define LSP_FIREWALL 0x00000008
636#define LSP_INBOUND_MODIFY 0x00000010
637#define LSP_OUTBOUND_MODIFY 0x00000020
638#define LSP_CRYPTO_COMPRESS 0x00000040
639#define LSP_LOCAL_CACHE 0x00000080
641typedef enum _WSC_PROVIDER_INFO_TYPE {
642 ProviderInfoLspCategories,
644} WSC_PROVIDER_INFO_TYPE ;
646typedef struct _WSC_PROVIDER_AUDIT_INFO {
649} WSC_PROVIDER_AUDIT_INFO;
707#if (_WIN32_WINNT >= 0x0501)
721#define WSCEnumNameSpaceProviders WSAEnumNameSpaceProvidersW
722#define LPFN_WSCENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW
734(
WSPAPI *LPWSCUPDATEPROVIDER)(
753WSCDeinstallProvider32(
759WSCInstallProvider64_32(
786WSCEnumNameSpaceProviders32(
792WSCInstallNameSpace32(
801WSCUnInstallNameSpace32(
806WSCEnableNSProvider32(
837#if (_WIN32_WINNT < 0x0600)
865#if(_WIN32_WINNT >= 0x0600)
871 _In_ WSC_PROVIDER_INFO_TYPE InfoType,
873 _In_ size_t InfoSize,
881 _In_ WSC_PROVIDER_INFO_TYPE InfoType,
889WSCSetApplicationCategory(
900WSCGetApplicationCategory(
908#define WSCEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExW
909#define LPFN_WSCENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXW
913WSCInstallNameSpaceEx(
929WSAUnadvertiseProvider(
934WSAProviderCompleteAsyncCall(
944 _In_ WSC_PROVIDER_INFO_TYPE InfoType,
946 _In_ size_t InfoSize,
954 _In_ WSC_PROVIDER_INFO_TYPE InfoType,
962WSCEnumNameSpaceProvidersEx32(
968WSCInstallNameSpaceEx32(
981WSCInstallProviderAndChains64_32(
985WSCInstallProviderAndChains(
1058 _Out_ LPBLOCKINGCALLBACK
FAR *lplpfnCallback,
1073 _In_ LPWSAUSERAPC lpfnUserApc,
PRTL_UNICODE_STRING_BUFFER Path
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLuint GLuint GLsizei GLenum type
GLenum const GLvoid * addr
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED lpOverlapped
IN PCO_ADDRESS_FAMILY AddressFamily
#define _In_reads_bytes_(s)
#define _Inout_updates_(s)
#define _Out_writes_bytes_to_(s, c)
#define _Must_inspect_result_
#define _In_reads_opt_(s)
#define _Out_writes_bytes_to_opt_(s, c)
#define _Out_writes_to_(s, c)
#define _Out_writes_bytes_(s)
#define _In_reads_bytes_opt_(s)
INT WSPAPI WSCUpdateProvider(LPGUID lpProviderId, const WCHAR FAR *lpszProviderDllPath, const LPWSAPROTOCOL_INFOW lpProtocolInfoList, DWORD dwNumberOfEntries, LPINT lpErrno)
INT WSPAPI WPUCloseThread(IN LPWSATHREADID lpThreadId, OUT LPINT lpErrno)
INT WSPAPI WPUOpenCurrentThread(OUT LPWSATHREADID lpThreadId, OUT LPINT lpErrno)
WCHAR szDescription[WSPDESCRIPTION_LEN+1]
LPNSPV2LOOKUPSERVICEEND NSPv2LookupServiceEnd
LPNSPV2LOOKUPSERVICENEXTEX NSPv2LookupServiceNextEx
LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown
LPNSPV2LOOKUPSERVICEBEGIN NSPv2LookupServiceBegin
LPNSPV2SETSERVICEEX NSPv2SetServiceEx
LPNSPV2CLEANUP NSPv2Cleanup
LPNSPV2STARTUP NSPv2Startup
LPNSPREMOVESERVICECLASS NSPRemoveServiceClass
LPNSPINSTALLSERVICECLASS NSPInstallServiceClass
LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin
LPNSPSETSERVICE NSPSetService
LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo
LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd
LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext
LPWSPSTRINGTOADDRESS lpWSPStringToAddress
LPWSPSETSOCKOPT lpWSPSetSockOpt
LPWSPGETSOCKNAME lpWSPGetSockName
LPWSPCLOSESOCKET lpWSPCloseSocket
LPWSPGETPEERNAME lpWSPGetPeerName
LPWSPJOINLEAF lpWSPJoinLeaf
LPWSPRECVDISCONNECT lpWSPRecvDisconnect
LPWSPSENDDISCONNECT lpWSPSendDisconnect
LPWSPSHUTDOWN lpWSPShutdown
LPWSPGETQOSBYNAME lpWSPGetQOSByName
LPWSPRECVFROM lpWSPRecvFrom
LPWSPEVENTSELECT lpWSPEventSelect
LPWSPCLEANUP lpWSPCleanup
LPWSPGETSOCKOPT lpWSPGetSockOpt
LPWSPCONNECT lpWSPConnect
LPWSPADDRESSTOSTRING lpWSPAddressToString
LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents
LPWSPDUPLICATESOCKET lpWSPDuplicateSocket
LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult
LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall
LPWSPASYNCSELECT lpWSPAsyncSelect
LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext
LPWPUQUEUEAPC lpWPUQueueApc
LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback
LPWPUCREATEEVENT lpWPUCreateEvent
LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle
LPWPUSETEVENT lpWPUSetEvent
LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle
LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread
LPWPURESETEVENT lpWPUResetEvent
LPWPUCLOSEEVENT lpWPUCloseEvent
LPWPUCLOSETHREAD lpWPUCloseThread
LPWPUFDISSET lpWPUFDIsSet
LPWPUGETPROVIDERPATH lpWPUGetProviderPath
LPWPUPOSTMESSAGE lpWPUPostMessage
LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID * Guid
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_Reserved_ PVOID Reserved
_In_ DWORD dwIoControlCode
_In_ _In_opt_ _Out_writes_bytes_to_opt_ lpdwBufferLength _Inout_ LPDWORD lpdwBufferLength
enum _WSAESETSERVICEOP WSAESETSERVICEOP
void(CALLBACK * LPWSAOVERLAPPED_COMPLETION_ROUTINE)(IN DWORD dwError, IN DWORD cbTransferred, IN LPWSAOVERLAPPED lpOverlapped, IN DWORD dwFlags)
int(CALLBACK * LPCONDITIONPROC)(IN LPWSABUF lpCallerId, IN LPWSABUF lpCallerData, IN OUT LPQOS lpSQOS, IN OUT LPQOS lpGQOS, IN LPWSABUF lpCalleeId, IN LPWSABUF lpCalleeData, OUT GROUP FAR *g, IN DWORD_PTR dwCallbackData)
INT WSPAPI WSCUnInstallNameSpace(_In_ LPGUID lpProviderId)
INT(WSAAPI * LPNSPV2LOOKUPSERVICEEND)(_In_ HANDLE hLookup)
int(WSPAPI * LPWPUOPENCURRENTTHREAD)(_Out_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
#define WSPDESCRIPTION_LEN
INT(WSAAPI * LPNSPINSTALLSERVICECLASS)(_In_ LPGUID lpProviderId, _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo)
int WSPAPI WPUQueryBlockingCallback(_In_ DWORD dwCatalogEntryId, _Out_ LPBLOCKINGCALLBACK FAR *lplpfnCallback, _Out_ PDWORD_PTR lpdwContext, _Out_ LPINT lpErrno)
INT(WSPAPI * LPWSPSTRINGTOADDRESS)(_In_ LPWSTR AddressString, _In_ INT AddressFamily, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _Out_writes_bytes_to_(*lpAddressLength, *lpAddressLength) LPSOCKADDR lpAddress, _Inout_ LPINT lpAddressLength, _Out_ LPINT lpErrno)
struct _WSPUPCALLTABLE WSPUPCALLTABLE
int(WSPAPI * LPWSPCANCELBLOCKINGCALL)(_Out_ LPINT lpErrno)
int(WSPAPI * LPWSCENUMPROTOCOLS)(_In_opt_ LPINT lpiProtocols, _Out_writes_bytes_to_opt_(*lpdwBufferLength, *lpdwBufferlength) LPWSAPROTOCOL_INFOW lpProtocolBuffer, _Inout_ LPDWORD lpdwBufferLength, _Out_ LPINT lpErrno)
int WSPAPI WSCRemoveQOSTemplate(_In_ const LPGUID Guid, _In_ LPWSABUF QosName)
int(WSPAPI * LPWSPDUPLICATESOCKET)(_In_ SOCKET s, _In_ DWORD dwProcessId, _Out_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _Out_ LPINT lpErrno)
int WSPAPI WPUCompleteOverlappedRequest(_In_ SOCKET s, _Inout_ LPWSAOVERLAPPED lpOverlapped, _In_ DWORD dwError, _In_ DWORD cbTransferred, _Out_ LPINT lpErrno)
BOOL(WSPAPI * LPWPURESETEVENT)(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
INT(WSAAPI * LPNSPREMOVESERVICECLASS)(_In_ LPGUID lpProviderId, _In_ LPGUID lpServiceClassId)
_Must_inspect_result_ SOCKET(WSPAPI * LPWSPACCEPT)(_In_ SOCKET s, _Out_writes_bytes_to_opt_(*addrlen, *addrlen) struct sockaddr FAR *addr, _Inout_opt_ LPINT addrlen, _In_opt_ LPCONDITIONPROC lpfnCondition, _In_opt_ DWORD_PTR dwCallbackData, _Out_ LPINT lpErrno)
BOOL(WSPAPI * LPWPUPOSTMESSAGE)(_In_ HWND hWnd, _In_ UINT Msg, _In_ WPARAM wParam, _In_ LPARAM lParam)
int(WSPAPI * LPWSPCONNECT)(_In_ SOCKET s, _In_reads_bytes_(namelen) const struct sockaddr FAR *name, _In_ int namelen, _In_opt_ LPWSABUF lpCallerData, _Out_opt_ LPWSABUF lpCalleeData, _In_opt_ LPQOS lpSQOS, _In_opt_ LPQOS lpGQOS, _Out_ LPINT lpErrno)
int(WSPAPI * LPWSPRECV)(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUF lpBuffers, _In_ DWORD dwBufferCount, _Out_opt_ LPDWORD lpNumberOfBytesRecvd, _Inout_ LPDWORD lpFlags, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSATHREADID lpThreadId, _In_ LPINT lpErrno)
SOCKET(WSPAPI * LPWPUMODIFYIFSHANDLE)(_In_ DWORD dwCatalogEntryId, _In_ SOCKET ProposedHandle, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUQUERYSOCKETHANDLECONTEXT)(_In_ SOCKET s, _Out_ PDWORD_PTR lpContext, _Out_ LPINT lpErrno)
BOOL(WSPAPI * LPWSPGETQOSBYNAME)(_In_ SOCKET s, _In_ LPWSABUF lpQOSName, _Out_ LPQOS lpQOS, _Out_ LPINT lpErrno)
int(WSPAPI * LPWSPIOCTL)(_In_ SOCKET s, _In_ DWORD dwIoControlCode, _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer, _In_ DWORD cbInBuffer, _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer, _In_ DWORD cbOutBuffer, _Out_ LPDWORD lpcbBytesReturned, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
_Must_inspect_result_ INT(WSAAPI * LPNSPSTARTUP)(_In_ LPGUID lpProviderId, _Inout_ LPNSP_ROUTINE lpnspRoutines)
VOID(WSAAPI * LPNSPV2CLIENTSESSIONRUNDOWN)(_In_ LPGUID lpProviderId, _In_ LPVOID pvClientSessionArg)
int(WSPAPI * LPWSPSENDTO)(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUF lpBuffers, _In_ DWORD dwBufferCount, _Out_opt_ LPDWORD lpNumberOfBytesSent, _In_ DWORD dwFlags, _In_reads_bytes_opt_(iTolen) const struct sockaddr FAR *lpTo, _In_ int iTolen, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
struct WSPData * LPWSPDATA
int(WSPAPI * LPWSPGETPEERNAME)(_In_ SOCKET s, _Out_writes_bytes_to_(*namelen, *namelen) struct sockaddr FAR *name, _Inout_ LPINT namelen, _Out_ LPINT lpErrno)
int(WSPAPI * LPWSPSELECT)(_In_ int nfds, _Inout_opt_ fd_set FAR *readfds, _Inout_opt_ fd_set FAR *writefds, _Inout_opt_ fd_set FAR *exceptfds, _In_opt_ const struct timeval FAR *timeout, _Out_ LPINT lpErrno)
int(WSPAPI * LPWSPCLOSESOCKET)(_In_ SOCKET s, _Out_ LPINT lpErrno)
int WSPAPI WPUCloseSocketHandle(_In_ SOCKET s, _Out_ LPINT lpErrno)
INT(WSPAPI * LPWSCUNINSTALLNAMESPACE)(_In_ LPGUID lpProviderId)
int(WSPAPI * LPWPUCLOSETHREAD)(_In_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
BOOL WSPAPI WPUSetEvent(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
INT(WSAAPI * LPNSPLOOKUPSERVICEEND)(_In_ HANDLE hLookup)
_Must_inspect_result_ INT WSAAPI NSPStartup(_In_ LPGUID lpProviderId, _Inout_ LPNSP_ROUTINE lpnspRoutines)
BOOL WSPAPI WPUPostMessage(_In_ HWND hWnd, _In_ UINT Msg, _In_ WPARAM wParam, _In_ LPARAM lParam)
WSAEVENT WSPAPI WPUCreateEvent(_Out_ LPINT lpErrno)
int(WSPAPI * LPWSPENUMNETWORKEVENTS)(_In_ SOCKET s, _In_ WSAEVENT hEventObject, _Out_ LPWSANETWORKEVENTS lpNetworkEvents, _Out_ LPINT lpErrno)
WSAEVENT(WSPAPI * LPWPUCREATEEVENT)(_Out_ LPINT lpErrno)
SOCKET(WSPAPI * LPWSPJOINLEAF)(_In_ SOCKET s, _In_reads_bytes_(namelen) const struct sockaddr FAR *name, _In_ int namelen, _In_opt_ LPWSABUF lpCallerData, _Out_opt_ LPWSABUF lpCalleeData, _In_opt_ LPQOS lpSQOS, _In_opt_ LPQOS lpGQOS, _In_ DWORD dwFlags, _Out_ LPINT lpErrno)
SOCKET WSPAPI WPUCreateSocketHandle(_In_ DWORD dwCatalogEntryId, _In_ DWORD_PTR dwContext, _Out_ LPINT lpErrno)
int WSPAPI WPUGetProviderPath(_In_ LPGUID lpProviderId, _Out_writes_(*lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath, _Inout_ LPINT lpProviderDllPathLen, _Out_ LPINT lpErrno)
struct _WSPUPCALLTABLE * LPWSPUPCALLTABLE
struct _WSPPROC_TABLE WSPPROC_TABLE
const NSPV2_ROUTINE * LPCNSPV2_ROUTINE
VOID(WSAAPI * LPNSPV2SETSERVICEEX)(_In_ HANDLE hAsyncCall, _In_ LPGUID lpProviderId, _In_ LPWSAQUERYSET2W lpqsRegInfo, _In_ WSAESETSERVICEOP essOperation, _In_ DWORD dwControlFlags, _In_ LPVOID lpvClientSessionArg)
int(WSPAPI * LPWSCINSTALLQOSTEMPLATE)(_In_ const LPGUID Guid, _In_ LPWSABUF QosName, _In_ LPQOS Qos)
struct _WSPPROC_TABLE * LPWSPPROC_TABLE
struct _NSP_ROUTINE NSP_ROUTINE
BOOL(WSPAPI * LPWPUSETEVENT)(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
int(WSPAPI * LPWSPEVENTSELECT)(_In_ SOCKET s, _In_opt_ WSAEVENT hEventObject, _In_ long lNetworkEvents, _Out_ LPINT lpErrno)
INT(WSAAPI * LPNSPGETSERVICECLASSINFO)(_In_ LPGUID lpProviderId, _In_ LPDWORD lpdwBufSize, _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo)
int(WSPAPI * LPWSPRECVDISCONNECT)(_In_ SOCKET s, _In_opt_ LPWSABUF lpInboundDisconnectData, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUFDISSET)(_In_ SOCKET s, _In_ fd_set FAR *fdset)
int WSPAPI WSCDeinstallProvider(_In_ LPGUID lpProviderId, _Out_ LPINT lpErrno)
struct _NSPV2_ROUTINE * LPNSPV2_ROUTINE
INT WSPAPI WSCInstallNameSpace(_In_ LPWSTR lpszIdentifier, _In_ LPWSTR lpszPathName, _In_ DWORD dwNameSpace, _In_ DWORD dwVersion, _In_ LPGUID lpProviderId)
int WSPAPI WPUQueueApc(_In_ LPWSATHREADID lpThreadId, _In_ LPWSAUSERAPC lpfnUserApc, _In_ DWORD_PTR dwContext, _Out_ LPINT lpErrno)
INT(WSAAPI * LPNSPV2LOOKUPSERVICEBEGIN)(_In_ LPGUID lpProviderId, _In_ LPWSAQUERYSET2W lpqsRestrictions, _In_ DWORD dwControlFlags, _In_ LPVOID lpvClientSessionArg, _Out_ LPHANDLE lphLookup)
BOOL WSPAPI WPUCloseEvent(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
SOCKET WSPAPI WPUModifyIFSHandle(_In_ DWORD dwCatalogEntryId, _In_ SOCKET ProposedHandle, _Out_ LPINT lpErrno)
INT WSPAPI WSCEnableNSProvider(_In_ LPGUID lpProviderId, _In_ BOOL fEnable)
struct _WSATHREADID WSATHREADID
int WSPAPI WSCGetProviderPath(_In_ LPGUID lpProviderId, _Out_writes_to_(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath, _Inout_ LPINT lpProviderDllPathLen, _Out_ LPINT lpErrno)
BOOL(WSPAPI * LPWSPGETOVERLAPPEDRESULT)(_In_ SOCKET s, _In_ LPWSAOVERLAPPED lpOverlapped, _Out_ LPDWORD lpcbTransfer, _In_ BOOL fWait, _Out_ LPDWORD lpdwFlags, _Out_ LPINT lpErrno)
int WSPAPI WPUQuerySocketHandleContext(_In_ SOCKET s, _Out_ PDWORD_PTR lpContext, _Out_ LPINT lpErrno)
int WSPAPI WPUFDIsSet(_In_ SOCKET s, _In_ fd_set FAR *fdset)
struct _NSP_ROUTINE * PNSP_ROUTINE
int(WSPAPI * LPWSPGETSOCKNAME)(_In_ SOCKET s, _Out_writes_bytes_to_(*namelen, *namelen) struct sockaddr FAR *name, _Inout_ LPINT namelen, _Out_ LPINT lpErrno)
struct _NSP_ROUTINE * LPNSP_ROUTINE
_Must_inspect_result_ SOCKET(WSPAPI * LPWSPSOCKET)(_In_ int af, _In_ int type, _In_ int protocol, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_ GROUP g, _In_ DWORD dwFlags, _Out_ LPINT lpErrno)
int(WSPAPI * LPWSPBIND)(_In_ SOCKET s, _In_reads_bytes_(namelen) const struct sockaddr FAR *name, _In_ int namelen, _Out_ LPINT lpErrno)
int WSPAPI WSCInstallQOSTemplate(_In_ const LPGUID Guid, _In_ LPWSABUF QosName, _In_ LPQOS Qos)
int(WSPAPI * LPWSCREMOVEQOSTEMPLATE)(_In_ const LPGUID Guid, _In_ LPWSABUF QosName)
_Must_inspect_result_ SOCKET(WSPAPI * LPWPUCREATESOCKETHANDLE)(_In_ DWORD dwCatalogEntryId, _In_ DWORD_PTR dwContext, _Out_ LPINT lpErrno)
struct _NSPV2_ROUTINE * PNSPV2_ROUTINE
int(WSPAPI * LPWPUCLOSESOCKETHANDLE)(_In_ SOCKET s, _Out_ LPINT lpErrno)
int(WSPAPI * LPWSPSENDDISCONNECT)(_In_ SOCKET s, _In_opt_ LPWSABUF lpOutboundDisconnectData, _Out_ LPINT lpErrno)
int(WSPAPI * LPWSPCLEANUP)(_Out_ LPINT lpErrno)
_Must_inspect_result_ INT(WSAAPI * LPNSPV2STARTUP)(_In_ LPGUID lpProviderId, _Outptr_ LPVOID *ppvClientSessionArg)
int(WSPAPI * LPWSPRECVFROM)(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUF lpBuffers, _In_ DWORD dwBufferCount, _Out_opt_ LPDWORD lpNumberOfBytesRecvd, _Inout_ LPDWORD lpFlags, _Out_writes_bytes_to_opt_(*lpFromlen, *lpFromlen) struct sockaddr FAR *lpFrom, _Inout_opt_ LPINT lpFromlen, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
_Must_inspect_result_ int WSPAPI WSPStartup(_In_ WORD wVersionRequested, _In_ LPWSPDATA lpWSPData, _In_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_ WSPUPCALLTABLE UpcallTable, _Out_ LPWSPPROC_TABLE lpProcTable)
int(WSPAPI * LPWSPGETSOCKOPT)(_In_ SOCKET s, _In_ int level, _In_ int optname, _Out_writes_bytes_(*optlen) char FAR *optval, _Inout_ LPINT optlen, _Out_ LPINT lpErrno)
INT(WSAAPI * LPNSPV2CLEANUP)(_In_ LPGUID lpProviderId, _In_ LPVOID pvClientSessionArg)
int(WSPAPI * LPWSPSEND)(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUF lpBuffers, _In_ DWORD dwBufferCount, _Out_opt_ LPDWORD lpNumberOfBytesSent, _In_ DWORD dwFlags, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUQUEUEAPC)(_In_ LPWSATHREADID lpThreadId, _In_ LPWSAUSERAPC lpfnUserApc, _In_ DWORD_PTR dwContext, _Out_ LPINT lpErrno)
const NSPV2_ROUTINE * PCNSPV2_ROUTINE
BOOL WSPAPI WPUResetEvent(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
INT(WSAAPI * LPNSPLOOKUPSERVICEBEGIN)(_In_ LPGUID lpProviderId, _In_ LPWSAQUERYSETW lpqsRestrictions, _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo, _In_ DWORD dwControlFlags, _Out_ LPHANDLE lphLookup)
INT(WSAAPI * LPNSPSETSERVICE)(_In_ LPGUID lpProviderId, _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo, _In_ LPWSAQUERYSETW lpqsRegInfo, _In_ WSAESETSERVICEOP essOperation, _In_ DWORD dwControlFlags)
int(WSPAPI * LPWSPASYNCSELECT)(_In_ SOCKET s, _In_ HWND hWnd, _In_ unsigned int wMsg, _In_ long lEvent, _Out_ LPINT lpErrno)
int WSPAPI WSCInstallProvider(_In_ LPGUID lpProviderId, _In_z_ const WCHAR FAR *lpszProviderDllPath, _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList, _In_ DWORD dwNumberOfEntries, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUQUERYBLOCKINGCALLBACK)(_In_ DWORD dwCatalogEntryId, _Out_ LPBLOCKINGCALLBACK FAR *lplpfnCallback, _Out_ PDWORD_PTR lpdwContext, _Out_ LPINT lpErrno)
INT(WSPAPI * LPWSCENABLENSPROVIDER)(_In_ LPGUID lpProviderId, _In_ BOOL fEnable)
VOID(WSAAPI * LPNSPV2LOOKUPSERVICENEXTEX)(_In_ HANDLE hAsyncCall, _In_ HANDLE hLookup, _In_ DWORD dwControlFlags, _In_ LPDWORD lpdwBufferLength, _Out_ LPWSAQUERYSET2W lpqsResults)
int WSPAPI WSCEnumProtocols(_In_opt_ LPINT lpiProtocols, _Out_writes_bytes_to_opt_(*lpdwBufferLength, *lpdwBufferLength) LPWSAPROTOCOL_INFOW lpProtocolBuffer, _Inout_ LPDWORD lpdwBufferLength, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUGETPROVIDERPATH)(_In_ LPGUID lpProviderId, _Out_writes_(*lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath, _Inout_ LPINT lpProviderDllPathLen, _Out_ LPINT lpErrno)
BOOL(WSPAPI * LPWPUCLOSEEVENT)(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUCOMPLETEOVERLAPPEDREQUEST)(_In_ SOCKET s, _Inout_ LPWSAOVERLAPPED lpOverlapped, _In_ DWORD dwError, _In_ DWORD cbTransferred, _Out_ LPINT lpErrno)
int(WSPAPI * LPWSCGETPROVIDERPATH)(_In_ LPGUID lpProviderId, _Out_writes_to_(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath, _Inout_ LPINT lpProviderDllPathLen, _Out_ LPINT lpErrno)
INT(WSAAPI * LPNSPLOOKUPSERVICENEXT)(_In_ HANDLE hLookup, _In_ DWORD dwControlFlags, _Inout_ LPDWORD lpdwBufferLength, _Out_writes_bytes_to_(*lpdwBufferLength, *lpdwBufferLength) LPWSAQUERYSETW lpqsResults)
int(WSPAPI * LPWSPSHUTDOWN)(_In_ SOCKET s, _In_ int how, _Out_ LPINT lpErrno)
INT(WSPAPI * LPWSCINSTALLNAMESPACE)(_In_ LPWSTR lpszIdentifier, _In_ LPWSTR lpszPathName, _In_ DWORD dwNameSpace, _In_ DWORD dwVersion, _In_ LPGUID lpProviderId)
struct _WSATHREADID * LPWSATHREADID
int(WSPAPI * LPWSCDEINSTALLPROVIDER)(_In_ LPGUID lpProviderId, _Out_ LPINT lpErrno)
int(WSPAPI * LPWSPSETSOCKOPT)(_In_ SOCKET s, _In_ int level, _In_ int optname, _In_reads_bytes_opt_(optlen) const char FAR *optval, _In_ int optlen, _Out_ LPINT lpErrno)
int(WSPAPI * LPWSPLISTEN)(_In_ SOCKET s, _In_ int backlog, _Out_ LPINT lpErrno)
_Must_inspect_result_ int(WSPAPI * LPWSPSTARTUP)(_In_ WORD wVersionRequested, _In_ LPWSPDATA lpWSPData, _In_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_ WSPUPCALLTABLE UpcallTable, _Out_ LPWSPPROC_TABLE lpProcTable)
INT(WSAAPI * LPNSPCLEANUP)(_In_ LPGUID lpProviderId)
int(WSPAPI * LPWSCINSTALLPROVIDER)(_In_ LPGUID lpProviderId, _In_z_ const WCHAR FAR *lpszProviderDllPath, _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList, _In_ DWORD dwNumberOfEntries, _Out_ LPINT lpErrno)
INT(WSPAPI * LPWSPADDRESSTOSTRING)(_In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress, _In_ DWORD dwAddressLength, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _Out_writes_to_(*lpdwAddressStringLength, *lpdwAddressStringLength) LPWSTR lpszAddressString, _Inout_ LPDWORD lpdwAddressStringLength, _Out_ LPINT lpErrno)
struct _NSPV2_ROUTINE NSPV2_ROUTINE
_Must_inspect_result_ _In_ ULONG Flags