All PnP drivers must handle this IRP.

Major Code


When Sent

The PnP manager sends this IRP, at some point after an IRP_MN_QUERY_STOP_DEVICE, to inform the drivers for a device that the device will not be disabled (Windows 98/Me only) or stopped for resource reconfiguration.

The PnP manager sends this IRP at IRQL PASSIVE_LEVEL in the context of a system thread.

Input Parameters


Output Parameters


I/O Status Block

A driver must set Irp->IoStatus.Status to STATUS_SUCCESS for this IRP. If a driver fails this IRP, the device is left in an inconsistent state.


This IRP must be handled first by the parent bus driver for a device and then by each higher driver in the device stack.

In response to this IRP, drivers return the device to the started state. Drivers start any IRPs that were held while the device was in the stop-pending state.

If the device is already in an active state when the driver receives this IRP, a function or filter driver simply sets status to success and passes the IRP to the next driver. The parent bus driver completes the IRP. For such a cancel-stop IRP, a function or filter driver need not set a completion routine.

See Plug and Play for detailed information about handling stop IRPs and for the general rules for handling all Plug and Play minor IRPs.

Sending This IRP

Reserved for system use. Drivers must not send this IRP.



Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

See also


Send comments about this topic to Microsoft