服务已创建但未启动
我正在尝试运行我作为服务创建的驱动程序。我设法从驱动程序中创建了一个服务(使用“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。
提前致谢
I am trying to run a driver I created as a service. I managed to create a service out of the driver (using "sc.exe create ..."): The service now appears in the registry (under HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/mydriver). However the service cannot be started! When I use net start [myservice], I get the following output:
error 1275: This driver has been blocked from loading
One thing looked suspicious to me: The entry in the registry for my driver: The value of "ImagePath" was "\??[correct path]". I manually removed the "\??\" so that the correct path was left. However it did not solve the problem, instead I got an other error message (Error 123: The filename, directory name, or volume label syntax is incorrect).
By searching on the internet, I found out that this error 1275 indicates that a key in the registry is missing or corrupted. This makes sense as I modified it manually, so the value of "ImagePath" is probably corrupted. However I don't see anything wrong with the value I entered:
"C:\ledrivertest\driver1\bin\hello.sys"
Is there some kind of special syntax for the path of a driver binary which I don't know about?
I use Windows 7.
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于您在 64 位系统上运行,并且尚未对驱动程序进行签名,因此错误 1275 最可能的解释是 Windows 由于未签名而阻止了驱动程序。
Since you are running on a 64 bit system, and you haven't signed the driver, the most likely explanation for error 1275 is that Windows blocked the driver due to it being unsigned.