IofCompleteRequest: Skip the stack location at the beginning of the loop instead of before and at the end to avoid double skipping of the last valid stack location in certain cases. This prevents the ASSERT in IoSkipCurrentIrpStackLocation to be hit. Note: this leads to a different value of Irp->CurrentLocation and Irp->Tail.Overlay.CurrentStackLocation after the last completion routine has been called. But that should hopefully not make a difference.
svn path=/branches/header-work/; revision=45996
- NTIFS : tagTOKEN_TYPE -> _TOKEN_TYPE
- Remove redundant MmFlushImageSection definition from winddk
- Add _BUS_HANDLER struct forwarder
- Guard ifssupp.h with #ifndef _NTIFS_ condition
- Add WAIT_TYPE, LOGICAL and PLOGICAL definitions to ntdef.h and get rid of the incorrect ones in winddk.h
- Group related *_POWER_* definitions
- Move PKSYNCHRONIZE_ROUTINE and POOL_TYPE to the kernel types section
- PDEVICE_OBJECT DeviceObject -> struct _DEVICE_OBJECT *DeviceObject in some cases
- PIRP Irp -> struct _IRP *Irp in some cases
svn path=/branches/header-work/; revision=45903