OUT PIO_STATUS_BLOCK IoStatusBlock)
{
UNIMPLEMENTED;
+ return(STATUS_NOT_IMPLEMENTED);
}
BOOLEAN STDCALL
IoAcquireCancelSpinLock(&oldlvl);
Irp->Cancel = TRUE;
if (Irp->CancelRoutine == NULL)
- {
- return(FALSE);
- }
- Irp->CancelRoutine(Irp->Stack[0].DeviceObject, Irp);
- IoReleaseCancelSpinLock(oldlvl);
+ {
+ IoReleaseCancelSpinLock(oldlvl);
+ return(FALSE);
+ }
+ Irp->CancelIrql = oldlvl;
+ Irp->CancelRoutine(IoGetCurrentIrpStackLocation(Irp)->DeviceObject, Irp);
return(TRUE);
}