Module: wine Branch: master Commit: 0e2a998a33fd2a21295bbc29b6080a763ec5f859 URL: https://source.winehq.org/git/wine.git/?a=commit;h=0e2a998a33fd2a21295bbc29b...
Author: Zebediah Figura z.figura12@gmail.com Date: Tue Jun 15 10:39:48 2021 -0500
ws2_32: Use IOCTL_AFD_WINE_MESSAGE_SELECT.
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ws2_32/socket.c | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index fc320ea0247..2fa1471ae3b 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c @@ -4508,29 +4508,28 @@ BOOL WINAPI WSAGetOverlappedResult( SOCKET s, LPWSAOVERLAPPED lpOverlapped,
/*********************************************************************** - * WSAAsyncSelect (WS2_32.101) + * WSAAsyncSelect (ws2_32.@) */ -INT WINAPI WSAAsyncSelect(SOCKET s, HWND hWnd, UINT uMsg, LONG lEvent) +int WINAPI WSAAsyncSelect( SOCKET s, HWND window, UINT message, LONG mask ) { - int ret; + struct afd_message_select_params params; + IO_STATUS_BLOCK io; + NTSTATUS status;
- TRACE("%04lx, hWnd %p, uMsg %08x, event %08x\n", s, hWnd, uMsg, lEvent); + TRACE( "socket %#lx, window %p, message %#x, mask %#x\n", s, window, message, mask );
- SERVER_START_REQ( set_socket_event ) - { - req->handle = wine_server_obj_handle( SOCKET2HANDLE(s) ); - req->mask = lEvent; - req->event = 0; - req->window = wine_server_user_handle( hWnd ); - req->msg = uMsg; - ret = wine_server_call( req ); - } - SERVER_END_REQ; - if (!ret) return 0; - SetLastError(WSAEINVAL); - return SOCKET_ERROR; + params.handle = wine_server_obj_handle( (HANDLE)s ); + params.window = wine_server_user_handle( window ); + params.message = message; + params.mask = afd_poll_flag_from_win32( mask ); + + status = NtDeviceIoControlFile( (HANDLE)s, NULL, NULL, NULL, &io, IOCTL_AFD_WINE_MESSAGE_SELECT, + ¶ms, sizeof(params), NULL, 0 ); + SetLastError( NtStatusToWSAError( status ) ); + return status ? -1 : 0; }
+ /*********************************************************************** * WSACreateEvent (WS2_32.31) *