【发布时间】:2017-10-09 20:47:45
【问题描述】:
我开发了一个简单的过滤器驱动程序。
驱动程序运行良好。
然后我使用“SC STOP”命令卸载驱动程序。
但这并不好,我不得不使用“FLTMC UNLOAD”命令。
我将为我的驱动程序添加几个功能。
“FLTMC UNLOAD”命令停止所有驱动程序的功能似乎有点奇怪。 (我认为)
我想用“SC STOP”命令停止驱动程序。
这可能吗?
以下是修改后的问题。
我现在正在使用 OSRLoader 加载和卸载驱动程序。
但是,当我第一次开发过滤器驱动程序时,它并没有以加载旧版驱动程序的方式加载过滤器驱动程序。
FltRegisterFilter() 发生错误。
我认为我的代码没有错。
但它没有加载,我将驱动类型更改为 MiniFilter 并且它工作正常。
我认为这是 FLTMC 命令和 SC 命令的区别。
为什么 FltRegisterFilter() 不适用于旧版驱动程序?
【问题讨论】:
-
But this did not work well- 你怎么能这么问问题? -
我不明白问题出在哪里。
sc命令用于启动和停止 Windows 服务。fltmc用于加载和卸载 过滤器驱动程序。您开发了一个过滤器驱动程序。因此,fltmc似乎是正确的工具......我错过了什么? -
@selbie,某些类型的驱动程序可以使用
sc启动和停止,因为驱动程序和服务共享一些相同的基础架构。我认为文件系统过滤器驱动程序不是这样,但我不能肯定。 -
嗯……没错……我只想对文件系统过滤驱动程序使用SC命令。我会改变我的问题。我现在使用 OSRLoader 加载和卸载驱动程序。但是,当我第一次开发过滤器驱动程序时,它并没有以加载旧版驱动程序的方式加载过滤器驱动程序。 FltRegisterFilter() 中发生错误。我认为我的代码没有错。但它没有加载,我将驱动程序类型更改为 MiniFilter 并且它工作正常。我认为这是 FLTMC 命令和 SC 命令之间的区别。为什么 FltRegisterFilter() 不适用于旧版驱动程序?
-
An error occurred in- 如果发生错误 - 写出究竟是什么错误,错误代码。这很难理解和做吗? sc 也可以使用微过滤器 - 它询问 services.exe 并调用 ZwUnloadDriver 。 fltmc 调用 FilterUnload 最终调用 FltpDoUnloadFilter 也调用 ZwUnloadDriver
标签: windows driver minifilter