c++ - Windows 设备驱动程序不以参数 0 启动

标签 c++ windows driver

这是我的第一个 Windows 设备驱动程序,我按照 http://www.adp-gmbh.ch/win/misc/writing_devicedriver.html 中的分步说明进行操作。但我的设备驱动程序不会在 Windows 启动时启动,并且事件查看器显示错误,当我单击事件查看器中的错误时,事情崩溃了。当我在 Windows 启动后手动启动驱动程序时,它可以工作。这个教程不完整吗?我已经在互联网上找到了源代码,但没有在这个站点上找到,我想我也在他的源代码中发现了一个错误,他只是忘记将头文件添加到“从设备驱动程序写入事件”中。我可以编译它而无需任何DDK 中的错误。

最佳答案

是的,本教程不完整且非常旧。安装 WDK 并遵循使用普通 WDM 或更好的 KMDF 编写的 WDK 示例之一。驱动程序安装应使用 .inf 文件完成,而不是通过手动注册表编辑来完成。

如果您仍然想知道为什么该驱动程序无法启动,请对其进行调试。可能其 DriverEntry 或 CreateCamel 函数由于某种原因失败。

无需调试即可做的另一件事是向驱动程序添加大量 KdPrint 语句,并使用 WinDbg 或 DebugView 观察它们。

关于c++ - Windows 设备驱动程序不以参数 0 启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7944672/

相关文章:

linux - 为我的笔记本电脑机箱定制驱动程序的提示?

c++ - 对于 64 位 Windows,是否有 libusb-win32 的替代方案?

c++ - 将最小出现次数留在堆栈底部的函数

c++ - 查找并替换字符数组中的单词

c++ - 为什么在 pragma omp critical 之后多次调用 printf 会产生乱码输出?

windows - 使用 shell 命令的 GNU MAKE 异常

c++ - IMAGE_SECTION_HEADER的VirtualAddress和PointerToRawData的区别

java - ADB 不起作用...Eclipse 未检测到我的设备

c++ - `->` 是否意味着取消引用?

c# - 可从 C# 中使用的基准库