IRP_MN_SET_LOCK
总线驱动程序必须为支持设备锁定的子设备 (子 PDO) 处理此 IRP。 函数和筛选器驱动程序不处理此请求。
值
0x12
主要代码
发送时间
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。
要求
标头 |
Wdm.h(包括 Wdm.h、Ntddk.h 或 Ntifs.h) |