ntoskrnl.exe: Support SL_INVOKE_ON_CANCEL in IoCompleteRequest.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
stable
Jacek Caban 2019-04-30 16:36:56 +02:00 committed by Alexandre Julliard
parent 332035fb94
commit b781a00b14
1 changed files with 2 additions and 1 deletions

View File

@ -2218,13 +2218,14 @@ VOID WINAPI IoCompleteRequest( IRP *irp, UCHAR priority_boost )
irpsp = irp->Tail.Overlay.s.u2.CurrentStackLocation;
routine = irpsp->CompletionRoutine;
call_flag = 0;
/* FIXME: add SL_INVOKE_ON_CANCEL support */
if (routine)
{
if ((irpsp->Control & SL_INVOKE_ON_SUCCESS) && STATUS_SUCCESS == status)
call_flag = 1;
if ((irpsp->Control & SL_INVOKE_ON_ERROR) && STATUS_SUCCESS != status)
call_flag = 1;
if ((irpsp->Control & SL_INVOKE_ON_CANCEL) && irp->Cancel)
call_flag = 1;
}
++irp->CurrentLocation;
++irp->Tail.Overlay.s.u2.CurrentStackLocation;