IRP_MJ_SHUTDOWN (FS 和筛选器驱动程序)
发送时
I/O 管理器或文件系统驱动程序在系统关闭时发送IRP_MJ_SHUTDOWN请求。
操作:文件系统驱动程序
文件系统应执行任何必要的清理,并使用STATUS_SUCCESS完成 IRP。
操作:旧版文件系统筛选器驱动程序
筛选器驱动程序应将此 IRP 向下传递到堆栈上的下一个较低驱动程序。
参数
文件系统或筛选器驱动程序调用给定 IRP 的 IoGetCurrentIrpStackLocation ,以获取指向 IRP 中其自身堆栈位置的指针。 在以下参数中, Irp 指向 IRP , 而 IrpSp 指向 IO_STACK_LOCATION。 驱动程序可以使用 IRP 的以下成员和 IRP 堆栈位置中设置的信息来处理关闭请求:
DeviceObject 是指向目标设备对象的指针。
Irp->IoStatus 指向一个 IO_STATUS_BLOCK 结构,该结构接收最终完成状态和有关所请求操作的信息。
IrpSp->MajorFunction 设置为 IRP_MJ_SET_SHUTDOWN。