我有一个非常通用的64位驱动程序,基于WDK中的bulkusb.sys。它已经使用嵌入式程序多年,但现在需要在Vista 64上运行。 从我试图查看的所有文档中似乎没有任何影响它,除了为64位环境编译它,然而当我使用AMD64构建环境编译它时,我得到“驱动程序不打算用于此平台“当它试图打开系统时出现错误消息。
这可能是什么解决方案?
更新: “试图打开系统”究竟是什么意思?在日志中,当它尝试运行驱动程序的sys文件(而不是inf中的错误)时,它会失败。 您使用的WDK版本是什么? 7600.16385.0
是否正在构建并尝试在同一台Vista x64计算机上部署? 不,我正在构建32位xp,但我不知道它是如何重要的,因为我使用了正确的构建环境。
您的驾驶员是否使用交叉签名证书签名?不,我已尝试启用未签名的驱动程序,但它没有帮助,但我也不确定这个主题会发生什么,如果你也可以给我一些信息,它会欢迎。
是否选择了正确的构建环境(chk / fre / amd64 / win2k)? 我用过chk-vista-amd64。因为这是vista 64bit ...
答案 0 :(得分:0)
如果您的代码基于WDK中的 bulkusb.sys ,您应该尝试编译包含在英特尔82930 USB测试板的批量USB设备驱动程序的代码WinDDK的 C:\ WinDDK \ 7600.16385.1 \ src \ usb \ usbsamp \ sys 。然后,如果它可以在您的环境中启动,请尝试将您使用的WinDDK代码(作为您的驱动程序)与当前版本的 usbsamp 从 WinDDK 7600.16385进行比较。 1 即可。您将看到usbsamp中所做的更改。您可能在程序中应该做同样的更改。
我无法给出更准确的答案,因为我试图在代码中找到一个我看不到的错误。在我看来并不容易。
答案 1 :(得分:0)
确保您在
中删除了驱动程序的副本%WinDir%\System32\DriverStore
因为您尝试在系统上安装的驱动程序的新版本将不会被使用。 有两种方法可以做到这一点:
1)插入设备并安装错误的驱动程序,然后使用设备管理器删除,但删除时,请使用鼠标菜单而不是删除键,并选中“删除驱动程序”框
2)在%WinDir%\ Inf中找到与您的驱动程序对应的OEM ##。inf文件。 使用提升的命令行窗口(即以管理员身份运行)使用
pnputil -d oem##.inf
现在您可以安装新版本的驱动程序。