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>
This commit is contained in:
parent
332035fb94
commit
b781a00b14
|
@ -2218,13 +2218,14 @@ VOID WINAPI IoCompleteRequest( IRP *irp, UCHAR priority_boost )
|
||||||
irpsp = irp->Tail.Overlay.s.u2.CurrentStackLocation;
|
irpsp = irp->Tail.Overlay.s.u2.CurrentStackLocation;
|
||||||
routine = irpsp->CompletionRoutine;
|
routine = irpsp->CompletionRoutine;
|
||||||
call_flag = 0;
|
call_flag = 0;
|
||||||
/* FIXME: add SL_INVOKE_ON_CANCEL support */
|
|
||||||
if (routine)
|
if (routine)
|
||||||
{
|
{
|
||||||
if ((irpsp->Control & SL_INVOKE_ON_SUCCESS) && STATUS_SUCCESS == status)
|
if ((irpsp->Control & SL_INVOKE_ON_SUCCESS) && STATUS_SUCCESS == status)
|
||||||
call_flag = 1;
|
call_flag = 1;
|
||||||
if ((irpsp->Control & SL_INVOKE_ON_ERROR) && STATUS_SUCCESS != status)
|
if ((irpsp->Control & SL_INVOKE_ON_ERROR) && STATUS_SUCCESS != status)
|
||||||
call_flag = 1;
|
call_flag = 1;
|
||||||
|
if ((irpsp->Control & SL_INVOKE_ON_CANCEL) && irp->Cancel)
|
||||||
|
call_flag = 1;
|
||||||
}
|
}
|
||||||
++irp->CurrentLocation;
|
++irp->CurrentLocation;
|
||||||
++irp->Tail.Overlay.s.u2.CurrentStackLocation;
|
++irp->Tail.Overlay.s.u2.CurrentStackLocation;
|
||||||
|
|
Loading…
Reference in New Issue