server: Remove the extra apc_arg parameter now that user APCs all require the same arg as the kernel APC.

This commit is contained in:
Alexandre Julliard 2007-06-03 12:05:44 +02:00
parent f6a3a4689f
commit 8992f89f27
7 changed files with 4 additions and 13 deletions

View File

@ -2286,7 +2286,6 @@ NtNotifyChangeDirectoryFile( HANDLE FileHandle, HANDLE Event,
req->async.iosb = IoStatusBlock;
req->async.arg = info;
req->async.apc = read_changes_user_apc;
req->async.apc_arg = info;
req->async.event = Event;
status = wine_server_call( req );
}

View File

@ -639,7 +639,6 @@ NTSTATUS WINAPI NtReadFile(HANDLE hFile, HANDLE hEvent,
req->async.iosb = io_status;
req->async.arg = fileio;
req->async.apc = fileio_apc;
req->async.apc_arg = fileio;
req->async.event = hEvent;
status = wine_server_call( req );
}
@ -873,7 +872,6 @@ NTSTATUS WINAPI NtWriteFile(HANDLE hFile, HANDLE hEvent,
req->async.iosb = io_status;
req->async.arg = fileio;
req->async.apc = fileio_apc;
req->async.apc_arg = fileio;
req->async.event = hEvent;
status = wine_server_call( req );
}
@ -1001,7 +999,6 @@ static NTSTATUS server_ioctl_file( HANDLE handle, HANDLE event,
req->async.iosb = io;
req->async.arg = async;
req->async.apc = (apc || event) ? ioctl_apc : NULL;
req->async.apc_arg = async;
req->async.event = event;
wine_server_add_data( req, in_buffer, in_size );
wine_server_set_reply( req, out_buffer, out_size );

View File

@ -1319,7 +1319,6 @@ static int WS2_register_async_shutdown( SOCKET s, int type )
req->async.iosb = &wsa->local_iosb;
req->async.arg = wsa;
req->async.apc = ws2_async_apc;
req->async.apc_arg = wsa;
status = wine_server_call( req );
}
SERVER_END_REQ;
@ -2677,7 +2676,6 @@ INT WINAPI WSASendTo( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount,
req->async.iosb = iosb;
req->async.arg = wsa;
req->async.apc = ws2_async_apc;
req->async.apc_arg = wsa;
req->async.event = lpCompletionRoutine ? 0 : lpOverlapped->hEvent;
err = wine_server_call( req );
}
@ -4185,7 +4183,6 @@ INT WINAPI WSARecvFrom( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount,
req->async.iosb = iosb;
req->async.arg = wsa;
req->async.apc = ws2_async_apc;
req->async.apc_arg = wsa;
req->async.event = lpCompletionRoutine ? 0 : lpOverlapped->hEvent;
err = wine_server_call( req );
}

View File

@ -161,7 +161,6 @@ typedef struct
void *iosb;
void *arg;
void *apc;
void *apc_arg;
obj_handle_t event;
} async_data_t;
@ -4728,6 +4727,6 @@ union generic_reply
struct get_next_device_request_reply get_next_device_request_reply;
};
#define SERVER_PROTOCOL_VERSION 304
#define SERVER_PROTOCOL_VERSION 305
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */

View File

@ -252,7 +252,7 @@ void async_set_result( struct object *obj, unsigned int status )
apc_call_t data;
data.type = APC_USER;
data.user.func = async->data.apc;
data.user.args[0] = (unsigned long)async->data.apc_arg;
data.user.args[0] = (unsigned long)async->data.arg;
data.user.args[1] = (unsigned long)async->data.iosb;
data.user.args[2] = 0;
thread_queue_apc( async->thread, NULL, &data );

View File

@ -177,7 +177,6 @@ typedef struct
void *iosb; /* I/O status block in client addr space */
void *arg; /* opaque user data to pass to callback */
void *apc; /* user apc to call */
void *apc_arg; /* argument for user apc */
obj_handle_t event; /* event to signal when done */
} async_data_t;

View File

@ -245,8 +245,8 @@ static void dump_apc_result( const apc_result_t *result )
static void dump_async_data( const async_data_t *data )
{
fprintf( stderr, "{callback=%p,iosb=%p,arg=%p,apc=%p,apc_arg=%p,event=%p}",
data->callback, data->iosb, data->arg, data->apc, data->apc_arg, data->event );
fprintf( stderr, "{callback=%p,iosb=%p,arg=%p,apc=%p,event=%p}",
data->callback, data->iosb, data->arg, data->apc, data->event );
}
static void dump_luid( const luid_t *luid )