将 IRP 向下传递到较低级别的驱动程序

注意

为了获得最佳可靠性和性能,请使用支持筛选器管理器的 文件系统微筛选器驱动程序 ,而不是旧的文件系统筛选器驱动程序。 若要将旧驱动程序移植到微筛选器驱动程序,请参阅 移植旧版筛选器驱动程序指南

默认情况下,在检查 IRP 的目标设备对象后,每个调度例程都必须通过调用 IoCallDriver 将 IRP 向下传递到下一个较低级别的设备驱动程序。 尤其重要的是,旧筛选器驱动程序必须传递它无法识别的任何 IRP,而不是简单地使它们失败。 如果不熟悉的 IRP 失败,可能会导致操作系统本身以意外的方式发生故障。 例如,文件系统筛选器驱动程序中失败IRP_MJ_PNP请求可能会阻止系统休眠,从而干扰电源管理。 即使文件系统筛选器驱动程序不涉及电源管理并且不会接收 IRP_MJ_POWER 请求,这种干扰也是正确的。