我有一个定制PCI卡的驱动程序,可以在XP上构建并运行良好。我正在尝试在W7上使用这个自定义硬件,并且我正在尝试构建并运行我的驱动程序。
我从微软获得了最新的DDK,并使用Windows XP“x86 Free Build Environment”构建了我的XP驱动程序。一切安装&工作良好。 (使用DDK“构建”命令构建)
如果我使用Windows 7“x86免费构建环境”构建环境,一切都很好。我通过PREfast和staticdv代码检查器运行它,没有任何错误。 (我得到一些关于“调度函数'FooFnc'没有任何__drv_dispatchType注释”的警告“ - 这些可能是问题吗?)
安装时,安装启动正常(关于未签名的驱动程序的标准错误),但是到达某个点然后挂起,然后因超时错误而失败。然后,设备将显示在已安装的设备管理器中。此时PC不会关机或启动,而是无限期挂起。我被迫启动进入安全模式并从那里卸载驱动程序。
所以我的问题是:
如果XP和W7之间的驱动程序模型发生了变化,找到它的最佳方法是什么?我在MSDN上看不到任何东西。
我如何调试驱动程序?这个盒子没有启动,所以它不像我可以运行WinDBG。
隐藏了任何特定的W7驱动程序?
我试图尽可能保持通用,但如果更多细节会有所帮助,我会提供更多
答案 0 :(得分:0)
AFAIK,视频和网络驱动程序发生了最大的变化。其他驱动程序保持向后兼容性,即使没有重新编译也可以在W7上运行。
在driver verifier下运行您的驱动程序并启用generating crash dumps with a keyboard(非常有用,如果系统挂起,您可以手动生成故障转储,分析并查找错误)。
希望这有帮助!