IRP_MN_QUERY_STOP_DEVICE

所有 PnP 驱动程序都必须处理此 IRP。

0x05

主代码

IRP_MJ_PNP

发送时

PnP 管理器发送此 IRP 以查询是否可以停止设备以重新平衡资源。

在 Windows 98/Me 上,PnP 管理器还会在禁用设备时发送此 IRP。

PnP 管理器在 IRQL PASSIVE_LEVEL系统线程上下文中发送此 IRP。

输入参数

输出参数

I/O 状态块

驱动程序将 Irp-IoStatus.Status> 设置为STATUS_SUCCESS或相应的错误状态。 如果驱动程序无法停止设备,驱动程序会将 Irp-IoStatus.Status> 设置为 STATUS_UNSUCCESSFUL。

总线驱动程序可以将 Irp-IoStatus.Status> 设置为 STATUS_RESOURCE_REQUIREMENTS_CHANGED 以指示 IRP 成功,但还可以请求 PnP 管理器在发送停止 IRP 之前重新查询设备的资源要求。

Operation

此 IRP 首先由设备堆栈顶部的驱动程序处理,然后向下传递到堆栈中的每个较低驱动程序。

为了响应此 IRP,驱动程序指示停止设备进行资源重新均衡是否安全。

有关处理即插即用次要 IRP 的一般规则,请参阅即插即用。

发送此 IRP

预留给系统使用。 驱动程序不得发送此 IRP。

要求

标头

Wdm.h(包括 Wdm.h、Ntddk.h 或 Ntifs.h)

另请参阅

IRP_MN_CANCEL_STOP_DEVICE

IRP_MN_DEVICE_USAGE_NOTIFICATION

IRP_MN_START_DEVICE

IRP_MN_STOP_DEVICE