【发布时间】:2018-07-05 14:29:26
【问题描述】:
我编写了一个非常基本的 KMDF 驱动程序,安装了它,并以net start KmdfStart 启动它。然后我用net stop KmdfStart 停止了它。到目前为止没有问题。
但是,当我使用 net start KmdfStart 再次启动它时,我得到了 System error 2 has occurred. The system cannot find the file specified。只有重新启动计算机才有帮助。每次我启动和停止,然后尝试启动时都会出现此问题。错误会立即显示在控制台中。
注册表项HKLM\SYSTEM\CurrentControlSet\Services\KmdfStart 的值ImagePath 设置为System32\drivers\KmdfStart.sys,并且该文件确实存在。
当文件明显存在时,net start 怎么会因为这个错误而失败?
【问题讨论】:
-
您是否确保在卸载驱动程序时进行清理(例如,设备创建、符号链接创建等)?忘记这样做可能会导致这种行为。
-
@ImmortaleVBR 实际上不久前我发现这是原因。请把它写成答案,所以我可以接受。为什么虽然不清理却会给出“系统找不到指定的文件”错误?
-
@ImmortaleVBR DriverEntry 根本没有第二次运行,因为我把 DbgPrint("started") 作为第一行,它只运行第一次。
标签: windows-services drivers wdk kmdf