VOID
IoStartNextPacket(
IN PDEVICE_OBJECT DeviceObject,
IN BOOLEAN Cancelable
);
IoStartNextPacket dequeues the next IRP, if any, from the given device object's associated device queue and calls the driver's StartIo routine.
Parameters
DeviceObject
Points to the device object for which the IRP is to be dequeued.
Cancelable
Specifies whether IRPs in the device queue can be canceled. TRUE means the update of the current IRP is synchronized using the cancel spin lock.
Comments
If there are no IRPs currently in the device queue for the target DeviceObject, this routine simply returns control to the caller.
Drivers that do not have a StartIo routine cannot call IoStartNextPacket.
Callers of IoStartNextPacket must be running at IRQL DISPATCH_LEVEL. Usually, this routine is called from a device driver's DpcForIsr or CustomDpc routine, both of which are run at IRQL DISPATCH_LEVEL.
See Also