| 1 | 
 /** | 
 
 
 
 
 
 | 2 | 
  * This file has no copyright assigned and is placed in the Public Domain. | 
 
 
 
 
 
 | 3 | 
  * This file is part of the mingw-w64 runtime package. | 
 
 
 
 
 
 | 4 | 
  * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
 
 
 
 
 
 | 5 | 
  */ | 
 
 
 
 
 
 | 6 | 
 #ifndef _WINSOCK2SPI_ | 
 
 
 
 
 
 | 7 | 
 #define _WINSOCK2SPI_ | 
 
 
 
 
 
 | 8 | 
  | 
 
 
 
 
 
 | 9 | 
 #ifndef _WIN64 | 
 
 
 
 
 
 | 10 | 
 #include <pshpack4.h> | 
 
 
 
 
 
 | 11 | 
 #endif | 
 
 
 
 
 
 | 12 | 
  | 
 
 
 
 
 
 | 13 | 
 #include <winsock2.h> | 
 
 
 
 
 
 | 14 | 
  | 
 
 
 
 
 
 | 15 | 
 #define WSPDESCRIPTION_LEN 255 | 
 
 
 
 
 
 | 16 | 
  | 
 
 
 
 
 
 | 17 | 
 #define WSS_OPERATION_IN_PROGRESS __MSABI_LONG(0x00000103) | 
 
 
 
 
 
 | 18 | 
  | 
 
 
 
 
 
 | 19 | 
 typedef struct WSPData { | 
 
 
 
 
 
 | 20 | 
   WORD wVersion; | 
 
 
 
 
 
 | 21 | 
   WORD wHighVersion; | 
 
 
 
 
 
 | 22 | 
   WCHAR szDescription[WSPDESCRIPTION_LEN+1]; | 
 
 
 
 
 
 | 23 | 
 } WSPDATA,*LPWSPDATA; | 
 
 
 
 
 
 | 24 | 
  | 
 
 
 
 
 
 | 25 | 
 typedef struct _WSATHREADID { | 
 
 
 
 
 
 | 26 | 
   HANDLE ThreadHandle; | 
 
 
 
 
 
 | 27 | 
   DWORD_PTR Reserved; | 
 
 
 
 
 
 | 28 | 
 } WSATHREADID,*LPWSATHREADID; | 
 
 
 
 
 
 | 29 | 
  | 
 
 
 
 
 
 | 30 | 
 #define WSPAPI WSAAPI | 
 
 
 
 
 
 | 31 | 
  | 
 
 
 
 
 
 | 32 | 
 #ifdef __cplusplus | 
 
 
 
 
 
 | 33 | 
 extern "C" { | 
 
 
 
 
 
 | 34 | 
 #endif | 
 
 
 
 
 
 | 35 | 
  | 
 
 
 
 
 
 | 36 | 
   typedef WINBOOL (CALLBACK *LPBLOCKINGCALLBACK)(DWORD_PTR dwContext); | 
 
 
 
 
 
 | 37 | 
   typedef VOID (CALLBACK *LPWSAUSERAPC)(DWORD_PTR dwContext); | 
 
 
 
 
 
 | 38 | 
   typedef SOCKET (WSPAPI *LPWSPACCEPT)(SOCKET s,struct sockaddr *addr,LPINT addrlen,LPCONDITIONPROC lpfnCondition,DWORD_PTR dwCallbackData,LPINT lpErrno); | 
 
 
 
 
 
 | 39 | 
   typedef INT (WSPAPI *LPWSPADDRESSTOSTRING)(LPSOCKADDR lpsaAddress,DWORD dwAddressLength,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPWSTR lpszAddressString,LPDWORD lpdwAddressStringLength,LPINT lpErrno); | 
 
 
 
 
 
 | 40 | 
   typedef int (WSPAPI *LPWSPASYNCSELECT)(SOCKET s,HWND hWnd,unsigned int wMsg,__LONG32 lEvent,LPINT lpErrno); | 
 
 
 
 
 
 | 41 | 
   typedef int (WSPAPI *LPWSPBIND)(SOCKET s,const struct sockaddr *name,int namelen,LPINT lpErrno); | 
 
 
 
 
 
 | 42 | 
   typedef int (WSPAPI *LPWSPCANCELBLOCKINGCALL)(LPINT lpErrno); | 
 
 
 
 
 
 | 43 | 
   typedef int (WSPAPI *LPWSPCLEANUP)(LPINT lpErrno); | 
 
 
 
 
 
 | 44 | 
   typedef int (WSPAPI *LPWSPCLOSESOCKET)(SOCKET s,LPINT lpErrno); | 
 
 
 
 
 
 | 45 | 
   typedef int (WSPAPI *LPWSPCONNECT)(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS,LPINT lpErrno); | 
 
 
 
 
 
 | 46 | 
   typedef int (WSPAPI *LPWSPDUPLICATESOCKET)(SOCKET s,DWORD dwProcessId,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPINT lpErrno); | 
 
 
 
 
 
 | 47 | 
   typedef int (WSPAPI *LPWSPENUMNETWORKEVENTS)(SOCKET s,WSAEVENT hEventObject,LPWSANETWORKEVENTS lpNetworkEvents,LPINT lpErrno); | 
 
 
 
 
 
 | 48 | 
   typedef int (WSPAPI *LPWSPEVENTSELECT)(SOCKET s,WSAEVENT hEventObject,__LONG32 lNetworkEvents,LPINT lpErrno); | 
 
 
 
 
 
 | 49 | 
   typedef WINBOOL (WSPAPI *LPWSPGETOVERLAPPEDRESULT)(SOCKET s,LPWSAOVERLAPPED lpOverlapped,LPDWORD lpcbTransfer,WINBOOL fWait,LPDWORD lpdwFlags,LPINT lpErrno); | 
 
 
 
 
 
 | 50 | 
   typedef int (WSPAPI *LPWSPGETPEERNAME)(SOCKET s,struct sockaddr *name,LPINT namelen,LPINT lpErrno); | 
 
 
 
 
 
 | 51 | 
   typedef int (WSPAPI *LPWSPGETSOCKNAME)(SOCKET s,struct sockaddr *name,LPINT namelen,LPINT lpErrno); | 
 
 
 
 
 
 | 52 | 
   typedef int (WSPAPI *LPWSPGETSOCKOPT)(SOCKET s,int level,int optname,char *optval,LPINT optlen,LPINT lpErrno); | 
 
 
 
 
 
 | 53 | 
   typedef WINBOOL (WSPAPI *LPWSPGETQOSBYNAME)(SOCKET s,LPWSABUF lpQOSName,LPQOS lpQOS,LPINT lpErrno); | 
 
 
 
 
 
 | 54 | 
   typedef int (WSPAPI *LPWSPIOCTL)(SOCKET s,DWORD dwIoControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno); | 
 
 
 
 
 
 | 55 | 
   typedef SOCKET (WSPAPI *LPWSPJOINLEAF)(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS,DWORD dwFlags,LPINT lpErrno); | 
 
 
 
 
 
 | 56 | 
   typedef int (WSPAPI *LPWSPLISTEN)(SOCKET s,int backlog,LPINT lpErrno); | 
 
 
 
 
 
 | 57 | 
   typedef int (WSPAPI *LPWSPRECV)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno); | 
 
 
 
 
 
 | 58 | 
   typedef int (WSPAPI *LPWSPRECVDISCONNECT)(SOCKET s,LPWSABUF lpInboundDisconnectData,LPINT lpErrno); | 
 
 
 
 
 
 | 59 | 
   typedef int (WSPAPI *LPWSPRECVFROM)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,struct sockaddr *lpFrom,LPINT lpFromlen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno); | 
 
 
 
 
 
 | 60 | 
   typedef int (WSPAPI *LPWSPSELECT)(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const PTIMEVAL timeout,LPINT lpErrno); | 
 
 
 
 
 
 | 61 | 
   typedef int (WSPAPI *LPWSPSEND)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno); | 
 
 
 
 
 
 | 62 | 
   typedef int (WSPAPI *LPWSPSENDDISCONNECT)(SOCKET s,LPWSABUF lpOutboundDisconnectData,LPINT lpErrno); | 
 
 
 
 
 
 | 63 | 
   typedef int (WSPAPI *LPWSPSENDTO)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,const struct sockaddr *lpTo,int iTolen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno); | 
 
 
 
 
 
 | 64 | 
   typedef int (WSPAPI *LPWSPSETSOCKOPT)(SOCKET s,int level,int optname,const char *optval,int optlen,LPINT lpErrno); | 
 
 
 
 
 
 | 65 | 
   typedef int (WSPAPI *LPWSPSHUTDOWN)(SOCKET s,int how,LPINT lpErrno); | 
 
 
 
 
 
 | 66 | 
   typedef SOCKET (WSPAPI *LPWSPSOCKET)(int af,int type,int protocol,LPWSAPROTOCOL_INFOW lpProtocolInfo,GROUP g,DWORD dwFlags,LPINT lpErrno); | 
 
 
 
 
 
 | 67 | 
   typedef INT (WSPAPI *LPWSPSTRINGTOADDRESS)(LPWSTR AddressString,INT AddressFamily,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPSOCKADDR lpAddress,LPINT lpAddressLength,LPINT lpErrno); | 
 
 
 
 
 
 | 68 | 
  | 
 
 
 
 
 
 | 69 | 
   typedef struct _WSPPROC_TABLE { | 
 
 
 
 
 
 | 70 | 
  | 
 
 
 
 
 
 | 71 | 
     LPWSPACCEPT lpWSPAccept; | 
 
 
 
 
 
 | 72 | 
     LPWSPADDRESSTOSTRING lpWSPAddressToString; | 
 
 
 
 
 
 | 73 | 
     LPWSPASYNCSELECT lpWSPAsyncSelect; | 
 
 
 
 
 
 | 74 | 
     LPWSPBIND lpWSPBind; | 
 
 
 
 
 
 | 75 | 
     LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall; | 
 
 
 
 
 
 | 76 | 
     LPWSPCLEANUP lpWSPCleanup; | 
 
 
 
 
 
 | 77 | 
     LPWSPCLOSESOCKET lpWSPCloseSocket; | 
 
 
 
 
 
 | 78 | 
     LPWSPCONNECT lpWSPConnect; | 
 
 
 
 
 
 | 79 | 
     LPWSPDUPLICATESOCKET lpWSPDuplicateSocket; | 
 
 
 
 
 
 | 80 | 
     LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents; | 
 
 
 
 
 
 | 81 | 
     LPWSPEVENTSELECT lpWSPEventSelect; | 
 
 
 
 
 
 | 82 | 
     LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult; | 
 
 
 
 
 
 | 83 | 
     LPWSPGETPEERNAME lpWSPGetPeerName; | 
 
 
 
 
 
 | 84 | 
     LPWSPGETSOCKNAME lpWSPGetSockName; | 
 
 
 
 
 
 | 85 | 
     LPWSPGETSOCKOPT lpWSPGetSockOpt; | 
 
 
 
 
 
 | 86 | 
     LPWSPGETQOSBYNAME lpWSPGetQOSByName; | 
 
 
 
 
 
 | 87 | 
     LPWSPIOCTL lpWSPIoctl; | 
 
 
 
 
 
 | 88 | 
     LPWSPJOINLEAF lpWSPJoinLeaf; | 
 
 
 
 
 
 | 89 | 
     LPWSPLISTEN lpWSPListen; | 
 
 
 
 
 
 | 90 | 
     LPWSPRECV lpWSPRecv; | 
 
 
 
 
 
 | 91 | 
     LPWSPRECVDISCONNECT lpWSPRecvDisconnect; | 
 
 
 
 
 
 | 92 | 
     LPWSPRECVFROM lpWSPRecvFrom; | 
 
 
 
 
 
 | 93 | 
     LPWSPSELECT lpWSPSelect; | 
 
 
 
 
 
 | 94 | 
     LPWSPSEND lpWSPSend; | 
 
 
 
 
 
 | 95 | 
     LPWSPSENDDISCONNECT lpWSPSendDisconnect; | 
 
 
 
 
 
 | 96 | 
     LPWSPSENDTO lpWSPSendTo; | 
 
 
 
 
 
 | 97 | 
     LPWSPSETSOCKOPT lpWSPSetSockOpt; | 
 
 
 
 
 
 | 98 | 
     LPWSPSHUTDOWN lpWSPShutdown; | 
 
 
 
 
 
 | 99 | 
     LPWSPSOCKET lpWSPSocket; | 
 
 
 
 
 
 | 100 | 
     LPWSPSTRINGTOADDRESS lpWSPStringToAddress; | 
 
 
 
 
 
 | 101 | 
   } WSPPROC_TABLE,*LPWSPPROC_TABLE; | 
 
 
 
 
 
 | 102 | 
  | 
 
 
 
 
 
 | 103 | 
   typedef WINBOOL (WSPAPI *LPWPUCLOSEEVENT)(WSAEVENT hEvent,LPINT lpErrno); | 
 
 
 
 
 
 | 104 | 
   typedef int (WSPAPI *LPWPUCLOSESOCKETHANDLE)(SOCKET s,LPINT lpErrno); | 
 
 
 
 
 
 | 105 | 
   typedef WSAEVENT (WSPAPI *LPWPUCREATEEVENT)(LPINT lpErrno); | 
 
 
 
 
 
 | 106 | 
   typedef SOCKET (WSPAPI *LPWPUCREATESOCKETHANDLE)(DWORD dwCatalogEntryId,DWORD_PTR dwContext,LPINT lpErrno); | 
 
 
 
 
 
 | 107 | 
   typedef int (WSPAPI *LPWPUFDISSET)(SOCKET s,fd_set *fdset); | 
 
 
 
 
 
 | 108 | 
   typedef int (WSPAPI *LPWPUGETPROVIDERPATH)(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno); | 
 
 
 
 
 
 | 109 | 
   typedef SOCKET (WSPAPI *LPWPUMODIFYIFSHANDLE)(DWORD dwCatalogEntryId,SOCKET ProposedHandle,LPINT lpErrno); | 
 
 
 
 
 
 | 110 | 
   typedef WINBOOL (WSPAPI *LPWPUPOSTMESSAGE)(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); | 
 
 
 
 
 
 | 111 | 
   typedef int (WSPAPI *LPWPUQUERYBLOCKINGCALLBACK)(DWORD dwCatalogEntryId,LPBLOCKINGCALLBACK *lplpfnCallback,PDWORD_PTR lpdwContext,LPINT lpErrno); | 
 
 
 
 
 
 | 112 | 
   typedef int (WSPAPI *LPWPUQUERYSOCKETHANDLECONTEXT)(SOCKET s,PDWORD_PTR lpContext,LPINT lpErrno); | 
 
 
 
 
 
 | 113 | 
   typedef int (WSPAPI *LPWPUQUEUEAPC)(LPWSATHREADID lpThreadId,LPWSAUSERAPC lpfnUserApc,DWORD_PTR dwContext,LPINT lpErrno); | 
 
 
 
 
 
 | 114 | 
   typedef WINBOOL (WSPAPI *LPWPURESETEVENT)(WSAEVENT hEvent,LPINT lpErrno); | 
 
 
 
 
 
 | 115 | 
   typedef WINBOOL (WSPAPI *LPWPUSETEVENT)(WSAEVENT hEvent,LPINT lpErrno); | 
 
 
 
 
 
 | 116 | 
   typedef int (WSPAPI *LPWPUOPENCURRENTTHREAD)(LPWSATHREADID lpThreadId,LPINT lpErrno); | 
 
 
 
 
 
 | 117 | 
   typedef int (WSPAPI *LPWPUCLOSETHREAD)(LPWSATHREADID lpThreadId,LPINT lpErrno); | 
 
 
 
 
 
 | 118 | 
   typedef int (WSPAPI *LPWPUCOMPLETEOVERLAPPEDREQUEST)(SOCKET s,LPWSAOVERLAPPED lpOverlapped,DWORD dwError,DWORD cbTransferred,LPINT lpErrno); | 
 
 
 
 
 
 | 119 | 
  | 
 
 
 
 
 
 | 120 | 
   typedef struct _WSPUPCALLTABLE { | 
 
 
 
 
 
 | 121 | 
     LPWPUCLOSEEVENT lpWPUCloseEvent; | 
 
 
 
 
 
 | 122 | 
     LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle; | 
 
 
 
 
 
 | 123 | 
     LPWPUCREATEEVENT lpWPUCreateEvent; | 
 
 
 
 
 
 | 124 | 
     LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle; | 
 
 
 
 
 
 | 125 | 
     LPWPUFDISSET lpWPUFDIsSet; | 
 
 
 
 
 
 | 126 | 
     LPWPUGETPROVIDERPATH lpWPUGetProviderPath; | 
 
 
 
 
 
 | 127 | 
     LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle; | 
 
 
 
 
 
 | 128 | 
     LPWPUPOSTMESSAGE lpWPUPostMessage; | 
 
 
 
 
 
 | 129 | 
     LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback; | 
 
 
 
 
 
 | 130 | 
     LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext; | 
 
 
 
 
 
 | 131 | 
     LPWPUQUEUEAPC lpWPUQueueApc; | 
 
 
 
 
 
 | 132 | 
     LPWPURESETEVENT lpWPUResetEvent; | 
 
 
 
 
 
 | 133 | 
     LPWPUSETEVENT lpWPUSetEvent; | 
 
 
 
 
 
 | 134 | 
     LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread; | 
 
 
 
 
 
 | 135 | 
     LPWPUCLOSETHREAD lpWPUCloseThread; | 
 
 
 
 
 
 | 136 | 
   } WSPUPCALLTABLE,*LPWSPUPCALLTABLE; | 
 
 
 
 
 
 | 137 | 
  | 
 
 
 
 
 
 | 138 | 
   typedef int (WSPAPI *LPWSPSTARTUP)(WORD wVersionRequested,LPWSPDATA lpWSPData,LPWSAPROTOCOL_INFOW lpProtocolInfo,WSPUPCALLTABLE UpcallTable,LPWSPPROC_TABLE lpProcTable); | 
 
 
 
 
 
 | 139 | 
   typedef int (WSPAPI *LPWSCENUMPROTOCOLS)(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength,LPINT lpErrno); | 
 
 
 
 
 
 | 140 | 
   typedef int (WSPAPI *LPWSCDEINSTALLPROVIDER)(LPGUID lpProviderId,LPINT lpErrno); | 
 
 
 
 
 
 | 141 | 
   typedef int (WSPAPI *LPWSCINSTALLPROVIDER)(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno); | 
 
 
 
 
 
 | 142 | 
   typedef int (WSPAPI *LPWSCGETPROVIDERPATH)(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno); | 
 
 
 
 
 
 | 143 | 
   typedef int (WSPAPI *LPWSCUPDATEPROVIDER)(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno); | 
 
 
 
 
 
 | 144 | 
   typedef int (WSPAPI *LPWSCINSTALLQOSTEMPLATE)(const LPGUID Guid,LPWSABUF QosName,LPQOS Qos); | 
 
 
 
 
 
 | 145 | 
   typedef int (WSPAPI *LPWSCREMOVEQOSTEMPLATE)(const LPGUID Guid,LPWSABUF QosName); | 
 
 
 
 
 
 | 146 | 
  | 
 
 
 
 
 
 | 147 | 
   int WSPAPI WSPStartup(WORD wVersionRequested,LPWSPDATA lpWSPData,LPWSAPROTOCOL_INFOW lpProtocolInfo,WSPUPCALLTABLE UpcallTable,LPWSPPROC_TABLE lpProcTable); | 
 
 
 
 
 
 | 148 | 
   int WSPAPI WSCEnumProtocols(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength,LPINT lpErrno); | 
 
 
 
 
 
 | 149 | 
   int WSPAPI WSCDeinstallProvider(LPGUID lpProviderId,LPINT lpErrno); | 
 
 
 
 
 
 | 150 | 
   int WSPAPI WSCInstallProvider(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno); | 
 
 
 
 
 
 | 151 | 
   int WSPAPI WSCGetProviderPath(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno); | 
 
 
 
 
 
 | 152 | 
   int WSPAPI WSCUpdateProvider(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno); | 
 
 
 
 
 
 | 153 | 
   int WSPAPI WSCInstallQOSTemplate (const LPGUID Guid,LPWSABUF QosName,LPQOS Qos); | 
 
 
 
 
 
 | 154 | 
   int WSPAPI WSCRemoveQOSTemplate (const LPGUID Guid,LPWSABUF QosName); | 
 
 
 
 
 
 | 155 | 
  | 
 
 
 
 
 
 | 156 | 
 #ifdef _WIN64 | 
 
 
 
 
 
 | 157 | 
   int WSPAPI WSCEnumProtocols32(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength,LPINT lpErrno); | 
 
 
 
 
 
 | 158 | 
   int WSPAPI WSCDeinstallProvider32(LPGUID lpProviderId,LPINT lpErrno); | 
 
 
 
 
 
 | 159 | 
   int WSPAPI WSCInstallProvider64_32(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno); | 
 
 
 
 
 
 | 160 | 
   int WSPAPI WSCGetProviderPath32(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno); | 
 
 
 
 
 
 | 161 | 
   int WSPAPI WSCUpdateProvider32(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno); | 
 
 
 
 
 
 | 162 | 
 #endif | 
 
 
 
 
 
 | 163 | 
  | 
 
 
 
 
 
 | 164 | 
   WINBOOL WSPAPI WPUCloseEvent(WSAEVENT hEvent,LPINT lpErrno); | 
 
 
 
 
 
 | 165 | 
   int WSPAPI WPUCloseSocketHandle(SOCKET s,LPINT lpErrno); | 
 
 
 
 
 
 | 166 | 
   WSAEVENT WSPAPI WPUCreateEvent(LPINT lpErrno); | 
 
 
 
 
 
 | 167 | 
   SOCKET WSPAPI WPUCreateSocketHandle(DWORD dwCatalogEntryId,DWORD_PTR dwContext,LPINT lpErrno); | 
 
 
 
 
 
 | 168 | 
   int WSPAPI WPUFDIsSet(SOCKET s,fd_set *fdset); | 
 
 
 
 
 
 | 169 | 
   int WSPAPI WPUGetProviderPath(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno); | 
 
 
 
 
 
 | 170 | 
   SOCKET WSPAPI WPUModifyIFSHandle(DWORD dwCatalogEntryId,SOCKET ProposedHandle,LPINT lpErrno); | 
 
 
 
 
 
 | 171 | 
   WINBOOL WSPAPI WPUPostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); | 
 
 
 
 
 
 | 172 | 
   int WSPAPI WPUQueryBlockingCallback(DWORD dwCatalogEntryId,LPBLOCKINGCALLBACK *lplpfnCallback,PDWORD_PTR lpdwContext,LPINT lpErrno); | 
 
 
 
 
 
 | 173 | 
   int WSPAPI WPUQuerySocketHandleContext(SOCKET s,PDWORD_PTR lpContext,LPINT lpErrno); | 
 
 
 
 
 
 | 174 | 
   int WSPAPI WPUQueueApc(LPWSATHREADID lpThreadId,LPWSAUSERAPC lpfnUserApc,DWORD_PTR dwContext,LPINT lpErrno); | 
 
 
 
 
 
 | 175 | 
   WINBOOL WSPAPI WPUResetEvent(WSAEVENT hEvent,LPINT lpErrno); | 
 
 
 
 
 
 | 176 | 
   WINBOOL WSPAPI WPUSetEvent(WSAEVENT hEvent,LPINT lpErrno); | 
 
 
 
 
 
 | 177 | 
   int WSPAPI WPUCompleteOverlappedRequest (SOCKET s,LPWSAOVERLAPPED lpOverlapped,DWORD dwError,DWORD cbTransferred,LPINT lpErrno); | 
 
 
 
 
 
 | 178 | 
   int WSPAPI WPUOpenCurrentThread(LPWSATHREADID lpThreadId,LPINT lpErrno); | 
 
 
 
 
 
 | 179 | 
   int WSPAPI WPUCloseThread(LPWSATHREADID lpThreadId,LPINT lpErrno); | 
 
 
 
 
 
 | 180 | 
 #define WSCEnumNameSpaceProviders WSAEnumNameSpaceProvidersW | 
 
 
 
 
 
 | 181 | 
 #define LPFN_WSCENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW | 
 
 
 
 
 
 | 182 | 
  | 
 
 
 
 
 
 | 183 | 
 #ifdef _WIN64 | 
 
 
 
 
 
 | 184 | 
   INT WSAAPI WSCEnumNameSpaceProviders32(LPDWORD lpdwBufferLength,LPWSANAMESPACE_INFOW lpnspBuffer); | 
 
 
 
 
 
 | 185 | 
 #endif | 
 
 
 
 
 
 | 186 | 
  | 
 
 
 
 
 
 | 187 | 
   typedef INT (WSPAPI *LPWSCINSTALLNAMESPACE)(LPWSTR lpszIdentifier,LPWSTR lpszPathName,DWORD dwNameSpace,DWORD dwVersion,LPGUID lpProviderId); | 
 
 
 
 
 
 | 188 | 
   typedef INT (WSPAPI *LPWSCUNINSTALLNAMESPACE)(LPGUID lpProviderId); | 
 
 
 
 
 
 | 189 | 
   typedef INT (WSPAPI *LPWSCENABLENSPROVIDER)(LPGUID lpProviderId,WINBOOL fEnable); | 
 
 
 
 
 
 | 190 | 
  | 
 
 
 
 
 
 | 191 | 
   INT WSPAPI WSCInstallNameSpace (LPWSTR lpszIdentifier,LPWSTR lpszPathName,DWORD dwNameSpace,DWORD dwVersion,LPGUID lpProviderId); | 
 
 
 
 
 
 | 192 | 
   INT WSPAPI WSCUnInstallNameSpace (LPGUID lpProviderId); | 
 
 
 
 
 
 | 193 | 
   INT WSPAPI WSCEnableNSProvider (LPGUID lpProviderId,WINBOOL fEnable); | 
 
 
 
 
 
 | 194 | 
  | 
 
 
 
 
 
 | 195 | 
 #ifdef _WIN64 | 
 
 
 
 
 
 | 196 | 
   INT WSPAPI WSCInstallNameSpace32 (LPWSTR lpszIdentifier,LPWSTR lpszPathName,DWORD dwNameSpace,DWORD dwVersion,LPGUID lpProviderId); | 
 
 
 
 
 
 | 197 | 
   INT WSPAPI WSCUnInstallNameSpace32 (LPGUID lpProviderId); | 
 
 
 
 
 
 | 198 | 
   INT WSPAPI WSCEnableNSProvider32 (LPGUID lpProviderId,WINBOOL fEnable); | 
 
 
 
 
 
 | 199 | 
 #endif | 
 
 
 
 
 
 | 200 | 
  | 
 
 
 
 
 
 | 201 | 
   typedef INT (WSAAPI *LPNSPCLEANUP)(LPGUID lpProviderId); | 
 
 
 
 
 
 | 202 | 
   typedef INT (WSAAPI *LPNSPLOOKUPSERVICEBEGIN)(LPGUID lpProviderId,LPWSAQUERYSETW lpqsRestrictions,LPWSASERVICECLASSINFOW lpServiceClassInfo,DWORD dwControlFlags,LPHANDLE lphLookup); | 
 
 
 
 
 
 | 203 | 
   typedef INT (WSAAPI *LPNSPLOOKUPSERVICENEXT)(HANDLE hLookup,DWORD dwControlFlags,LPDWORD lpdwBufferLength,LPWSAQUERYSETW lpqsResults); | 
 
 
 
 
 
 | 204 | 
   typedef INT (WSAAPI *LPNSPIOCTL)(HANDLE hLookup,DWORD dwControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSACOMPLETION lpCompletion,LPWSATHREADID lpThreadId); | 
 
 
 
 
 
 | 205 | 
   typedef INT (WSAAPI *LPNSPLOOKUPSERVICEEND)(HANDLE hLookup); | 
 
 
 
 
 
 | 206 | 
   typedef INT (WSAAPI *LPNSPSETSERVICE)(LPGUID lpProviderId,LPWSASERVICECLASSINFOW lpServiceClassInfo,LPWSAQUERYSETW lpqsRegInfo,WSAESETSERVICEOP essOperation,DWORD dwControlFlags); | 
 
 
 
 
 
 | 207 | 
   typedef INT (WSAAPI *LPNSPINSTALLSERVICECLASS)(LPGUID lpProviderId,LPWSASERVICECLASSINFOW lpServiceClassInfo); | 
 
 
 
 
 
 | 208 | 
   typedef INT (WSAAPI *LPNSPREMOVESERVICECLASS)(LPGUID lpProviderId,LPGUID lpServiceClassId); | 
 
 
 
 
 
 | 209 | 
   typedef INT (WSAAPI *LPNSPGETSERVICECLASSINFO)(LPGUID lpProviderId,LPDWORD lpdwBufSize,LPWSASERVICECLASSINFOW lpServiceClassInfo); | 
 
 
 
 
 
 | 210 | 
  | 
 
 
 
 
 
 | 211 | 
   typedef struct _NSP_ROUTINE { | 
 
 
 
 
 
 | 212 | 
     DWORD cbSize; | 
 
 
 
 
 
 | 213 | 
     DWORD dwMajorVersion; | 
 
 
 
 
 
 | 214 | 
     DWORD dwMinorVersion; | 
 
 
 
 
 
 | 215 | 
     LPNSPCLEANUP NSPCleanup; | 
 
 
 
 
 
 | 216 | 
     LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin; | 
 
 
 
 
 
 | 217 | 
     LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext; | 
 
 
 
 
 
 | 218 | 
     LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd; | 
 
 
 
 
 
 | 219 | 
     LPNSPSETSERVICE NSPSetService; | 
 
 
 
 
 
 | 220 | 
     LPNSPINSTALLSERVICECLASS NSPInstallServiceClass; | 
 
 
 
 
 
 | 221 | 
     LPNSPREMOVESERVICECLASS NSPRemoveServiceClass; | 
 
 
 
 
 
 | 222 | 
     LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo; | 
 
 
 
 
 
 | 223 | 
     LPNSPIOCTL NSPIoctl; | 
 
 
 
 
 
 | 224 | 
   } NSP_ROUTINE,*LPNSP_ROUTINE; | 
 
 
 
 
 
 | 225 | 
  | 
 
 
 
 
 
 | 226 | 
   typedef INT (WSAAPI *LPNSPSTARTUP)(LPGUID lpProviderId,LPNSP_ROUTINE lpnspRoutines); | 
 
 
 
 
 
 | 227 | 
  | 
 
 
 
 
 
 | 228 | 
   INT WSAAPI NSPStartup(LPGUID lpProviderId,LPNSP_ROUTINE lpnspRoutines); | 
 
 
 
 
 
 | 229 | 
  | 
 
 
 
 
 
 | 230 | 
 #if (_WIN32_WINNT >= 0x0600) | 
 
 
 
 
 
 | 231 | 
  | 
 
 
 
 
 
 | 232 | 
 typedef int (WSAAPI *LPNSPV2CLEANUP)( | 
 
 
 
 
 
 | 233 | 
   LPGUID lpProviderId, | 
 
 
 
 
 
 | 234 | 
   LPVOID pvClientSessionArg | 
 
 
 
 
 
 | 235 | 
 ); | 
 
 
 
 
 
 | 236 | 
  | 
 
 
 
 
 
 | 237 | 
 typedef int (WSAAPI *LPNSPV2CLIENTSESSIONRUNDOWN)( | 
 
 
 
 
 
 | 238 | 
   LPGUID lpProviderId, | 
 
 
 
 
 
 | 239 | 
   LPVOID pvClientSessionArg | 
 
 
 
 
 
 | 240 | 
 ); | 
 
 
 
 
 
 | 241 | 
  | 
 
 
 
 
 
 | 242 | 
 typedef int (WSAAPI *LPNSPV2LOOKUPSERVICEBEGIN)( | 
 
 
 
 
 
 | 243 | 
   LPGUID lpProviderId, | 
 
 
 
 
 
 | 244 | 
   LPWSAQUERYSET2W lpqsRestrictions, | 
 
 
 
 
 
 | 245 | 
   DWORD dwControlFlags, | 
 
 
 
 
 
 | 246 | 
   LPVOID lpvClientSessionArg, | 
 
 
 
 
 
 | 247 | 
   LPHANDLE lphLookup | 
 
 
 
 
 
 | 248 | 
 ); | 
 
 
 
 
 
 | 249 | 
  | 
 
 
 
 
 
 | 250 | 
 typedef int (WSAAPI *LPNSPV2LOOKUPSERVICEEND)( | 
 
 
 
 
 
 | 251 | 
   HANDLE hLookup | 
 
 
 
 
 
 | 252 | 
 ); | 
 
 
 
 
 
 | 253 | 
  | 
 
 
 
 
 
 | 254 | 
 typedef int (WSAAPI *LPNSPV2LOOKUPSERVICENEXTEX)( | 
 
 
 
 
 
 | 255 | 
   HANDLE hAsyncCall, | 
 
 
 
 
 
 | 256 | 
   HANDLE hLookup, | 
 
 
 
 
 
 | 257 | 
   DWORD dwControlFlags, | 
 
 
 
 
 
 | 258 | 
   LPDWORD lpdwBufferLength, | 
 
 
 
 
 
 | 259 | 
   LPWSAQUERYSET2W lpqsResults | 
 
 
 
 
 
 | 260 | 
 ); | 
 
 
 
 
 
 | 261 | 
  | 
 
 
 
 
 
 | 262 | 
 typedef int (WSAAPI *LPNSPV2SETSERVICEEX)( | 
 
 
 
 
 
 | 263 | 
   HANDLE hAsyncCall, | 
 
 
 
 
 
 | 264 | 
   LPGUID lpProviderId, | 
 
 
 
 
 
 | 265 | 
   LPWSAQUERYSET2W lpqsRegInfo, | 
 
 
 
 
 
 | 266 | 
   WSAESETSERVICEOP essOperation, | 
 
 
 
 
 
 | 267 | 
   DWORD dwControlFlags, | 
 
 
 
 
 
 | 268 | 
   LPVOID lpvClientSessionArg | 
 
 
 
 
 
 | 269 | 
 ); | 
 
 
 
 
 
 | 270 | 
  | 
 
 
 
 
 
 | 271 | 
 typedef int (WSAAPI *LPNSPV2STARTUP)( | 
 
 
 
 
 
 | 272 | 
   LPGUID lpProviderId, | 
 
 
 
 
 
 | 273 | 
   LPVOID *ppvClientSessionArg | 
 
 
 
 
 
 | 274 | 
 ); | 
 
 
 
 
 
 | 275 | 
  | 
 
 
 
 
 
 | 276 | 
 typedef struct _NSPV2_ROUTINE { | 
 
 
 
 
 
 | 277 | 
   DWORD                       cbSize; | 
 
 
 
 
 
 | 278 | 
   DWORD                       dwMajorVersion; | 
 
 
 
 
 
 | 279 | 
   DWORD                       dwMinorVersion; | 
 
 
 
 
 
 | 280 | 
   LPNSPV2STARTUP              NSPv2Startup; | 
 
 
 
 
 
 | 281 | 
   LPNSPV2CLEANUP              NSPv2Cleanup; | 
 
 
 
 
 
 | 282 | 
   LPNSPV2LOOKUPSERVICEBEGIN   NSPv2LookupServiceBegin; | 
 
 
 
 
 
 | 283 | 
   LPNSPV2LOOKUPSERVICENEXTEX  NSPv2LookupServiceNextEx; | 
 
 
 
 
 
 | 284 | 
   LPNSPV2LOOKUPSERVICEEND     NSPv2LookupServiceEnd; | 
 
 
 
 
 
 | 285 | 
   LPNSPV2SETSERVICEEX         NSPv2SetServiceEx; | 
 
 
 
 
 
 | 286 | 
   LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown; | 
 
 
 
 
 
 | 287 | 
 } NSPV2_ROUTINE, *PNSPV2_ROUTINE, *LPCNSPV2_ROUTINE; | 
 
 
 
 
 
 | 288 | 
  | 
 
 
 
 
 
 | 289 | 
 #define LSP_SYSTEM          0x80000000 | 
 
 
 
 
 
 | 290 | 
 #define LSP_INSPECTOR       0x00000001 | 
 
 
 
 
 
 | 291 | 
 #define LSP_REDIRECTOR      0x00000002 | 
 
 
 
 
 
 | 292 | 
 #define LSP_PROXY           0x00000004 | 
 
 
 
 
 
 | 293 | 
 #define LSP_FIREWALL        0x00000008 | 
 
 
 
 
 
 | 294 | 
 #define LSP_INBOUND_MODIFY  0x00000010 | 
 
 
 
 
 
 | 295 | 
 #define LSP_OUTBOUND_MODIFY 0x00000020 | 
 
 
 
 
 
 | 296 | 
 #define LSP_CRYPTO_COMPRESS 0x00000040 | 
 
 
 
 
 
 | 297 | 
 #define LSP_LOCAL_CACHE     0x00000080 | 
 
 
 
 
 
 | 298 | 
  | 
 
 
 
 
 
 | 299 | 
 typedef enum _WSC_PROVIDER_INFO_TYPE { | 
 
 
 
 
 
 | 300 | 
   ProviderInfoLspCategories = 0, | 
 
 
 
 
 
 | 301 | 
   ProviderInfoAudit | 
 
 
 
 
 
 | 302 | 
 } WSC_PROVIDER_INFO_TYPE; | 
 
 
 
 
 
 | 303 | 
  | 
 
 
 
 
 
 | 304 | 
 typedef struct _WSC_PROVIDER_AUDIT_INFO { | 
 
 
 
 
 
 | 305 | 
   DWORD RecordSize; | 
 
 
 
 
 
 | 306 | 
   PVOID Reserved; | 
 
 
 
 
 
 | 307 | 
 } WSC_PROVIDER_AUDIT_INFO, *PWSC_PROVIDER_AUDIT_INFO; | 
 
 
 
 
 
 | 308 | 
  | 
 
 
 
 
 
 | 309 | 
 INT WSAAPI WSAAdvertiseProvider( | 
 
 
 
 
 
 | 310 | 
   const GUID *puuidProviderId, | 
 
 
 
 
 
 | 311 | 
   const LPCNSPV2_ROUTINE *pNSPv2Routine | 
 
 
 
 
 
 | 312 | 
 ); | 
 
 
 
 
 
 | 313 | 
  | 
 
 
 
 
 
 | 314 | 
 INT WSPAPI WSAProviderCompleteAsyncCall( | 
 
 
 
 
 
 | 315 | 
   HANDLE hAsyncCall, | 
 
 
 
 
 
 | 316 | 
   INT iRetCode | 
 
 
 
 
 
 | 317 | 
 ); | 
 
 
 
 
 
 | 318 | 
  | 
 
 
 
 
 
 | 319 | 
 INT WSPAPI WSAUnadvertiseProvider( | 
 
 
 
 
 
 | 320 | 
   const GUID *puuidProviderId | 
 
 
 
 
 
 | 321 | 
 ); | 
 
 
 
 
 
 | 322 | 
  | 
 
 
 
 
 
 | 323 | 
 int WSPAPI WSCGetApplicationCategory( | 
 
 
 
 
 
 | 324 | 
   LPCWSTR Path, | 
 
 
 
 
 
 | 325 | 
   DWORD PathLength, | 
 
 
 
 
 
 | 326 | 
   LPCWSTR Extra, | 
 
 
 
 
 
 | 327 | 
   DWORD ExtraLength, | 
 
 
 
 
 
 | 328 | 
   DWORD *pPermittedLspCategories, | 
 
 
 
 
 
 | 329 | 
   LPINT lpErrno | 
 
 
 
 
 
 | 330 | 
 ); | 
 
 
 
 
 
 | 331 | 
  | 
 
 
 
 
 
 | 332 | 
 int WSPAPI WSCGetProviderInfo( | 
 
 
 
 
 
 | 333 | 
   LPGUID lpProviderId, | 
 
 
 
 
 
 | 334 | 
   WSC_PROVIDER_INFO_TYPE InfoType, | 
 
 
 
 
 
 | 335 | 
   PBYTE Info, | 
 
 
 
 
 
 | 336 | 
   size_t *InfoSize, | 
 
 
 
 
 
 | 337 | 
   DWORD Flags, | 
 
 
 
 
 
 | 338 | 
   LPINT lpErrno | 
 
 
 
 
 
 | 339 | 
 ); | 
 
 
 
 
 
 | 340 | 
  | 
 
 
 
 
 
 | 341 | 
 #ifndef _WIN64 | 
 
 
 
 
 
 | 342 | 
 int WSPAPI WSCInstallProviderAndChains( | 
 
 
 
 
 
 | 343 | 
   const LPGUID lpProviderId, | 
 
 
 
 
 
 | 344 | 
   const LPWSTR lpszProviderDllPath, | 
 
 
 
 
 
 | 345 | 
   const LPWSTR lpszLspName, | 
 
 
 
 
 
 | 346 | 
   DWORD dwServiceFlags, | 
 
 
 
 
 
 | 347 | 
   const LPWSAPROTOCOL_INFO lpProtocolInfoList, | 
 
 
 
 
 
 | 348 | 
   DWORD dwNumberOfEntries, | 
 
 
 
 
 
 | 349 | 
   LPDWORD lpdwCatalogEntryId, | 
 
 
 
 
 
 | 350 | 
   LPINT lpErrno | 
 
 
 
 
 
 | 351 | 
 ); | 
 
 
 
 
 
 | 352 | 
 #endif /* !_WIN64 */ | 
 
 
 
 
 
 | 353 | 
  | 
 
 
 
 
 
 | 354 | 
 int WSPAPI WSCSetApplicationCategory( | 
 
 
 
 
 
 | 355 | 
   LPCWSTR Path, | 
 
 
 
 
 
 | 356 | 
   DWORD PathLength, | 
 
 
 
 
 
 | 357 | 
   LPCWSTR Extra, | 
 
 
 
 
 
 | 358 | 
   DWORD ExtraLength, | 
 
 
 
 
 
 | 359 | 
   DWORD PermittedLspCategories, | 
 
 
 
 
 
 | 360 | 
   DWORD *pPrevPermLspCat, | 
 
 
 
 
 
 | 361 | 
   LPINT lpErrno | 
 
 
 
 
 
 | 362 | 
 ); | 
 
 
 
 
 
 | 363 | 
  | 
 
 
 
 
 
 | 364 | 
 int WSPAPI WSCSetProviderInfo( | 
 
 
 
 
 
 | 365 | 
   LPGUID lpProviderId, | 
 
 
 
 
 
 | 366 | 
   WSC_PROVIDER_INFO_TYPE InfoType, | 
 
 
 
 
 
 | 367 | 
   PBYTE Info, | 
 
 
 
 
 
 | 368 | 
   size_t InfoSize, | 
 
 
 
 
 
 | 369 | 
   DWORD Flags, | 
 
 
 
 
 
 | 370 | 
   LPINT lpErrno | 
 
 
 
 
 
 | 371 | 
 ); | 
 
 
 
 
 
 | 372 | 
  | 
 
 
 
 
 
 | 373 | 
 int WSAAPI WSCInstallNameSpaceEx( | 
 
 
 
 
 
 | 374 | 
   LPWSTR lpszIdentifier, | 
 
 
 
 
 
 | 375 | 
   LPWSTR lpszPathName, | 
 
 
 
 
 
 | 376 | 
   DWORD dwNameSpace, | 
 
 
 
 
 
 | 377 | 
   DWORD dwVersion, | 
 
 
 
 
 
 | 378 | 
   LPGUID lpProviderId, | 
 
 
 
 
 
 | 379 | 
   LPBLOB lpProviderInfo | 
 
 
 
 
 
 | 380 | 
 ); | 
 
 
 
 
 
 | 381 | 
  | 
 
 
 
 
 
 | 382 | 
 #define WSCEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExW | 
 
 
 
 
 
 | 383 | 
 #define LPFN_WSCENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXW | 
 
 
 
 
 
 | 384 | 
  | 
 
 
 
 
 
 | 385 | 
 #ifdef _WIN64 | 
 
 
 
 
 
 | 386 | 
 INT WSPAPI WSCEnumNameSpaceProvidersEx32( | 
 
 
 
 
 
 | 387 | 
   LPDWORD lpdwBufferLength, | 
 
 
 
 
 
 | 388 | 
   LPWSANAMESPACE_INFOEXW lpnspBuffer | 
 
 
 
 
 
 | 389 | 
 ); | 
 
 
 
 
 
 | 390 | 
  | 
 
 
 
 
 
 | 391 | 
 int WSPAPI WSCGetProviderInfo32( | 
 
 
 
 
 
 | 392 | 
   LPGUID lpProviderId, | 
 
 
 
 
 
 | 393 | 
   WSC_PROVIDER_INFO_TYPE InfoType, | 
 
 
 
 
 
 | 394 | 
   PBYTE Info, | 
 
 
 
 
 
 | 395 | 
   size_t *InfoSize, | 
 
 
 
 
 
 | 396 | 
   DWORD Flags, | 
 
 
 
 
 
 | 397 | 
   LPINT lpErrno | 
 
 
 
 
 
 | 398 | 
 ); | 
 
 
 
 
 
 | 399 | 
  | 
 
 
 
 
 
 | 400 | 
 int WSAAPI WSCInstallNameSpaceEx32( | 
 
 
 
 
 
 | 401 | 
   LPWSTR lpszIdentifier, | 
 
 
 
 
 
 | 402 | 
   LPWSTR lpszPathName, | 
 
 
 
 
 
 | 403 | 
   DWORD dwNameSpace, | 
 
 
 
 
 
 | 404 | 
   DWORD dwVersion, | 
 
 
 
 
 
 | 405 | 
   LPGUID lpProviderId, | 
 
 
 
 
 
 | 406 | 
   LPBLOB lpProviderInfo | 
 
 
 
 
 
 | 407 | 
 ); | 
 
 
 
 
 
 | 408 | 
  | 
 
 
 
 
 
 | 409 | 
 int WSPAPI WSCInstallProviderAndChains64_32( | 
 
 
 
 
 
 | 410 | 
   const LPGUID lpProviderId, | 
 
 
 
 
 
 | 411 | 
   const LPWSTR lpszProviderDllPath, | 
 
 
 
 
 
 | 412 | 
   const LPWSTR lpszProviderDllPath32, | 
 
 
 
 
 
 | 413 | 
   const LPWSTR lpszLspName, | 
 
 
 
 
 
 | 414 | 
   DWORD dwServiceFlags, | 
 
 
 
 
 
 | 415 | 
   const LPWSAPROTOCOL_INFO lpProtocolInfoList, | 
 
 
 
 
 
 | 416 | 
   DWORD dwNumberOfEntries, | 
 
 
 
 
 
 | 417 | 
   LPDWORD lpdwCatalogEntryId, | 
 
 
 
 
 
 | 418 | 
   LPINT lpErrno | 
 
 
 
 
 
 | 419 | 
 ); | 
 
 
 
 
 
 | 420 | 
  | 
 
 
 
 
 
 | 421 | 
 int WSPAPI WSCSetProviderInfo32( | 
 
 
 
 
 
 | 422 | 
   LPGUID lpProviderId, | 
 
 
 
 
 
 | 423 | 
   WSC_PROVIDER_INFO_TYPE InfoType, | 
 
 
 
 
 
 | 424 | 
   PBYTE Info, | 
 
 
 
 
 
 | 425 | 
   size_t InfoSize, | 
 
 
 
 
 
 | 426 | 
   DWORD Flags, | 
 
 
 
 
 
 | 427 | 
   LPINT lpErrno | 
 
 
 
 
 
 | 428 | 
 ); | 
 
 
 
 
 
 | 429 | 
  | 
 
 
 
 
 
 | 430 | 
 #endif /* _WIN64*/ | 
 
 
 
 
 
 | 431 | 
  | 
 
 
 
 
 
 | 432 | 
 #endif /*(_WIN32_WINNT >= 0x0600)*/ | 
 
 
 
 
 
 | 433 | 
  | 
 
 
 
 
 
 | 434 | 
 #ifdef __cplusplus | 
 
 
 
 
 
 | 435 | 
 } | 
 
 
 
 
 
 | 436 | 
 #endif | 
 
 
 
 
 
 | 437 | 
  | 
 
 
 
 
 
 | 438 | 
 #if !defined(_WIN64) | 
 
 
 
 
 
 | 439 | 
 #include <poppack.h> | 
 
 
 
 
 
 | 440 | 
 #endif | 
 
 
 
 
 
 | 441 | 
 #endif |