diff --git a/dlls/winsock/socket.c b/dlls/winsock/socket.c index dfe3b409f3d..178697bf208 100644 --- a/dlls/winsock/socket.c +++ b/dlls/winsock/socket.c @@ -3270,3 +3270,31 @@ INT WINAPI WSARecvFrom( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, return rc; } + + +/*********************************************************************** + * WSCInstallProvider (WS2_32.88) + */ +INT WINAPI WSCInstallProvider( const LPGUID lpProviderId, + LPCWSTR lpszProviderDllPath, + const LPWSAPROTOCOL_INFOW lpProtocolInfoList, + DWORD dwNumberOfEntries, + LPINT lpErrno ) +{ + FIXME("(%s, %s, %p, %ld, %p): stub !\n", debugstr_guid(lpProviderId), + debugstr_w(lpszProviderDllPath), lpProtocolInfoList, + dwNumberOfEntries, lpErrno); + *lpErrno = 0; + return 0; +} + + +/*********************************************************************** + * WSCDeinstallProvider (WS2_32.83) + */ +INT WINAPI WSCDeinstallProvider(LPGUID lpProviderId, LPINT lpErrno) +{ + FIXME("(%s, %p): stub !\n", debugstr_guid(lpProviderId), lpErrno); + *lpErrno = 0; + return 0; +} diff --git a/dlls/winsock/ws2_32.spec b/dlls/winsock/ws2_32.spec index 7f83ae31a6c..85ff47dd48b 100644 --- a/dlls/winsock/ws2_32.spec +++ b/dlls/winsock/ws2_32.spec @@ -95,12 +95,12 @@ debug_channels (winsock) 80 stub WSAStringToAddressA 81 stub WSAStringToAddressW 82 forward WSAWaitForMultipleEvents KERNEL32.WaitForMultipleObjectsEx -83 stub WSCDeinstallProvider +83 stdcall WSCDeinstallProvider(ptr ptr) WSCDeinstallProvider 84 stub WSCEnableNSProvider 85 stub WSCEnumProtocols 86 stub WSCGetProviderPath 87 stub WSCInstallNameSpace -88 stub WSCInstallProvider +88 stdcall WSCInstallProvider(ptr wstr ptr long ptr) WSCInstallProvider 89 stub WSCUnInstallNameSpace 90 stub WSCWriteNameSpaceOrder 91 stub WSCWriteProviderOrder diff --git a/include/winsock2.h b/include/winsock2.h index f4ee2bdb844..cb97ea042c1 100644 --- a/include/winsock2.h +++ b/include/winsock2.h @@ -186,6 +186,33 @@ typedef struct _WSAPROTOCOL_INFOA CHAR szProtocol[WSAPROTOCOL_LEN+1]; } WSAPROTOCOL_INFOA, * LPWSAPROTOCOL_INFOA; +typedef struct _WSAPROTOCOL_INFOW +{ + DWORD dwServiceFlags1; + DWORD dwServiceFlags2; + DWORD dwServiceFlags3; + DWORD dwServiceFlags4; + DWORD dwProviderFlags; + GUID ProviderId; + DWORD dwCatalogEntryId; + WSAPROTOCOLCHAIN ProtocolChain; + int iVersion; + int iAddressFamily; + int iMaxSockAddr; + int iMinSockAddr; + int iSocketType; + int iProtocol; + int iProtocolMaxOffset; + int iNetworkByteOrder; + int iSecurityScheme; + DWORD dwMessageSize; + DWORD dwProviderReserved; + WCHAR szProtocol[WSAPROTOCOL_LEN+1]; +} WSAPROTOCOL_INFOW, * LPWSAPROTOCOL_INFOW; + +DECL_WINELIB_TYPE_AW(WSAPROTOCOL_INFO) +DECL_WINELIB_TYPE_AW(LPWSAPROTOCOL_INFO) + typedef struct _WSANETWORKEVENTS { long lNetworkEvents;