IRP_MN_SET_LOCK

总线驱动程序必须为支持设备锁定的子设备 (子 PDO) 处理此 IRP。 函数和筛选器驱动程序不处理此请求。

0x12

主要代码

IRP_MJ_PNP

发送时间

PnP 管理器发送此 IRP 以指示驱动程序 () 锁定设备并防止设备弹出或解锁设备。

PnP 管理器在任意线程上下文中的 IRQL PASSIVE_LEVEL发送此 IRP。

输入参数

IO_STACK_LOCATION 结构的 Parameters.SetLock.Lock 成员是一个 BOOLEAN 值,用于指定是锁定 (TRUE) 还是解锁 (FALSE) 设备。

输出参数

I/O 状态块

总线驱动程序将 Irp-IoStatus.Status> 设置为STATUS_SUCCESS或适当的错误状态。

成功后,驱动程序会将 Irp-IoStatus.Information> 设置为零。

如果总线驱动程序不处理此 IRP,它将保持 Irp-IoStatus.Status> 原样并完成 IRP。

函数和筛选器驱动程序不处理此 IRP。 此类驱动程序调用 IoSkipCurrentIrpStackLocation 并将 IRP 向下传递到下一个驱动程序。 函数和筛选器驱动程序不设置 IoCompletion 例程,不修改 Irp-IoStatus>,并且不得完成 IRP。

Operation

如果驱动程序返回此 IRP 的成功,它将确保在完成 IRP 之前已锁定或解锁设备。

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

发送此 IRP

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

要求

标头

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