[Wine] Re: WoW Multibox HotKeyNet aborting

FreddieHKN wineforum-user at winehq.org
Tue Sep 1 00:32:15 CDT 2009


I looked at the bug report, and I think I can explain the problem.

The application calls WSAIoctrl three times with flag SIO_GET_EXTENSION_FUNCTION_POINTER to obtain pointers to Winsock functions.

On at least one of the calls, I forgot to check the return value for an error.  This oversight was never noticed on Windows.

But apparently SIO_GET_EXTENSION_FUNCTION_POINTER isn't implemented in Wine, so the function is probably failing on Linux (returning a null pointer) and HotkeyNet is calling the null pointer,

The reason I say it's not implemented is that I found the following code in Wine's WSAIoctrl in socket.c:


Code:

   case WS_SIO_GET_EXTENSION_FUNCTION_POINTER:
       FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER %s: stub\n", debugstr_guid(lpvInBuffer));
       WSASetLastError(WSAEOPNOTSUPP);
       return SOCKET_ERROR;




If this is a correct explanation of the problem then HotkeyNet can only run on Wine if it's used on a single PC without connecting to others PCs, because the three function pointers it obtains with WSAIoctrl are essential to its network communications.

The three Windows functions are:

AcceptEx
ConnectEx
GetAcceptExSockaddrs

If there is some other way of linking to these functions in Wine, please let me know.  I don't think the Win32 API provides any other method of linking to them.







More information about the wine-users mailing list