【发布时间】:2011-08-25 07:33:48
【问题描述】:
我正在尝试运行我作为服务创建的驱动程序。我设法从驱动程序中创建了一个服务(使用“sc.exe create ...”):该服务现在出现在注册表中(在 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/mydriver 下)。但是服务无法启动!当我使用 net start [myservice] 时,我得到以下输出:
错误 1275:此驱动程序已被阻止加载
我觉得有一点可疑:注册表中我的驱动程序的条目:“ImagePath”的值是“\??[正确路径]”。我手动删除了“\??\”,以便留下正确的路径。但是它并没有解决问题,而是收到了另一条错误消息(错误 123:文件名、目录名或卷标语法不正确)。
通过在互联网上搜索,我发现这个错误 1275 表示注册表中的某个键丢失或损坏。这是有道理的,因为我手动修改了它,因此“ImagePath”的值可能已损坏。但是我没有看到我输入的值有什么问题:
"C:\ledrivertest\driver1\bin\hello.sys"
是否有某种我不知道的驱动程序二进制文件路径的特殊语法?
我使用的是 Windows 7。
提前致谢
【问题讨论】:
-
我忘记添加的一件事:“sc query state= all | find [myservice]”不会返回我尝试启动的服务。
-
\??\ 很好,为什么要删除它?
-
是吗?我认为这是表明路径错误的迹象。您认为是其他原因导致了错误吗?
-
绝对是其他原因导致了问题
-
驱动程序签名了吗?我也承认不知道将驱动程序作为服务运行。
标签: windows-services device-driver