From 05410c4aa6f4d0c710e3d82eb41bfdad825c4b1d Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Mon, 10 Apr 2017 13:20:51 +0200 Subject: [PATCH] ntdll: Use callback stored in async user for calling APC_ASYNC_IO. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- dlls/ntdll/server.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c index ac3183b3c51..ed77aa5173b 100644 --- a/dlls/ntdll/server.c +++ b/dlls/ntdll/server.c @@ -406,10 +406,9 @@ static BOOL invoke_apc( const apc_call_t *call, apc_result_t *result ) { void *apc = NULL, *arg = NULL; IO_STATUS_BLOCK *iosb = wine_server_get_ptr( call->async_io.sb ); - NTSTATUS (*func)(void *, IO_STATUS_BLOCK *, NTSTATUS, void **, void **) = wine_server_get_ptr( call->async_io.func ); + NTSTATUS (**user)(void *, IO_STATUS_BLOCK *, NTSTATUS, void **, void **) = wine_server_get_ptr( call->async_io.user ); result->type = call->type; - result->async_io.status = func( wine_server_get_ptr( call->async_io.user ), - iosb, call->async_io.status, &apc, &arg ); + result->async_io.status = (*user)( user, iosb, call->async_io.status, &apc, &arg ); if (result->async_io.status != STATUS_PENDING) { result->async_io.total = iosb->Information;