Jacek Caban : ntoskrnl.exe: Set irp context handle in dispatch_irp.
Alexandre Julliard
julliard at winehq.org
Mon May 27 14:50:19 CDT 2019
Module: wine
Branch: master
Commit: 72876116068fb9d0e21d6f8c6724049eb82f4f54
URL: https://source.winehq.org/git/wine.git/?a=commit;h=72876116068fb9d0e21d6f8c6724049eb82f4f54
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon May 27 13:39:15 2019 +0200
ntoskrnl.exe: Set irp context handle in dispatch_irp.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index c9b56b7..acfbec8 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -587,6 +587,8 @@ static void dispatch_irp( DEVICE_OBJECT *device, IRP *irp, struct dispatch_conte
LARGE_INTEGER count;
IoSetCompletionRoutine( irp, dispatch_irp_completion, context->handle, TRUE, TRUE, TRUE );
+ context->handle = 0;
+
KeQueryTickCount( &count ); /* update the global KeTickCount */
device->CurrentIrp = irp;
@@ -976,11 +978,7 @@ NTSTATUS CDECL wine_ntoskrnl_main_loop( HANDLE stop_event )
case STATUS_SUCCESS:
assert( context.params.type != IRP_CALL_NONE && context.params.type < ARRAY_SIZE(dispatch_funcs) );
status = dispatch_funcs[context.params.type]( &context );
- if (status == STATUS_SUCCESS)
- {
- context.handle = 0; /* status reported by IoCompleteRequest */
- if (!context.in_buff) context.in_size = 4096;
- }
+ if (!context.in_buff) context.in_size = 4096;
break;
case STATUS_BUFFER_OVERFLOW:
HeapFree( GetProcessHeap(), 0, context.in_buff );
More information about the wine-cvs
mailing list