IoMarkIrpPending

VOID
    IoMarkIrpPending(

        IN OUT PIRP  Irp
        );

IoMarkIrpPending marks the given IRP, indicating that a driver’s Dispatch routine returned STATUS_PENDING because further processing is required by other driver routines.

Parameters

Irp
Points to the IRP to be marked as pending.

Comments

Unless a driver calls IoCompleteRequest from its Dispatch routine with a given IRP or passes the IRP on to lower drivers, it must call IoMarkIrpPending with the IRP. Otherwise, the I/O Manager attempts to complete the IRP as soon as the Dispatch routine returns control.

A routine that calls IoMarkIrpPending must return STATUS_PENDING.

Callers of IoMarkIrpPending must be running at IRQL <= DISPATCH_LEVEL.

See Also

IoCompleteRequest, IoStartPacket, IRP