解决方法
如果参数 1 等于 0x66 ,我们可以通过验证微过滤器驱动程序是否已为此操作注册了操作后回调来调试此问题。
当前操作可以在回调数据结构中找到。
(请参阅参数 2.
)使用 !fltkd.cbd 调试器扩展。
如果参数 1 等于 0x67 ,则应验证系统中某处没有非分页池泄漏。
如果参数 1 等于 0x6A ,请确保微过滤器驱动程序不引用此文件对象(请参阅参数 2)以在微过滤器处理此操作期间的任何时候获取句柄。
如果参数 1 等于 0x6B 或者 0x6C ,则发生了不可恢复的内部状态错误,这将导致操作系统进行错误检查。
如果参数 1 等于 0x6D ,请确保微过滤器驱动程序不会为给定的上下文多次调用 FltReleaseContext(请参阅参数 2)。
如果参数 1 等于 0x6E,请确保微过滤器驱动程序在给定的上下文被删除后不会调用 FltReferenceContext(参见参数 2)。
on it road.com
原因
问题的原因由参数 1 的值指示。
请参阅参数部分中的表格。
FLTMGR_FILE_SYSTEM 参数
参数 1 表示违规类型。
其他参数的含义取决于参数 1 的值。
参数 1 | 参数 2 | 参数 3 | 参数 4 | 错误原因 |
---|---|---|---|---|
0x66 | 指向操作的回调数据结构的指针。 | 0 | 0 | 微过滤器从操作前回调返回 FLT_PREOP_SUCCESS_WITH_CALLBACK 或者 FLT_PREOP_SYNCHRONIZE,但没有注册相应的后操作回调。 |
0x67 | 指向操作的回调数据结构的指针。 | 0 | 操作的错误 NTSTATUS 代码 | 内部对象空间不足,系统无法分配新空间。 |
0x68 | 保留 | FLT_FILE_NAME_INFORMATIONN 结构的地址 | 保留 | FLT_FILE_NAME_INFORMATION 结构被取消引用太多次。 |
0x6A | 文件的文件对象指针。 | 0 | 0 | 无法取消文件打开或者文件创建请求,因为已为文件创建了一个或者多个句柄。 |
0x6B | 帧 ID | 0 | 线 | 无效的 BACKPOCKET IRPCTRL 状态。 |
0x6C | 帧 ID | 后备箱列表 | 线 | BACKPOCKETED IRPCTR 的嵌套 PageFault 太多。 |
0x6D | 微过滤器上下文结构的地址 | CONTEXT_NODE 结构的地址 | 0 | 上下文结构被取消引用太多次。这意味着过滤器管理器的 CONTEXT_NODE 结构上的引用计数在它仍然添加到其关联对象时变为零。 |
0x6E | 微过滤器上下文结构的地址 | CONTEXT_NODE 结构的地址 | 0 | 上下文结构在被释放后被引用。 |
FLTMGR_FILE_SYSTEM 错误检查的值为 0x000000F5.
这表明过滤器管理器中发生了不可恢复的故障。
日期:2020-09-17 00:16:16 来源:oir作者:oir