2010-04-29 58 views
1

我有一个基于WDK中bulkusb.sys的非常通用的64位驱动程序。多年来一直使用嵌入式程序工作,但现在需要在Vista 64上工作。 从我试过的所有文档看来,似乎没有任何影响它的东西,除了将其编译为64位环境,但是当我使用AMD64编译环境进行编译时,当它试图打开sys时,出现“驱动程序不适用于此平台”错误消息。在64位Windows上的USB驱动程序

有什么可以解决这个问题?

更新: 您试图打开sys的意思是什么?在日志中,当它尝试运行驱动程序的sys文件(在inf中没有错误)时,它会失败。 您使用的是什么WDK版本? 7600.16385.0

是否正在构建和尝试部署在相同的Vista x64机器上? 不,我建立在32位xp上,但我不明白它是如何重要的,因为我使用了正确的构建环境。

您的驱动程序是否使用交叉签名证书签名?不,我尝试过启用未签名的驱动程序,但它并没有帮助,但我也不确定这个主题会发生什么,如果你能给我一些相关信息,它也会受欢迎的。

选择了正确的构建环境(chk/fre/amd64/win2k)? 我用过了chk-vista-amd64。因为它是Vista的64位...

+0

“你试图打开系统”是什么意思?您使用的是什么WDK版本?是否正在构建和尝试部署在同一个Vista x64机器上? – 2010-04-29 13:58:07

+1

您的驱动程序是使用交叉签名证书签名的吗?选择了正确的构建环境(chk/fre/amd64/win2k)? – Christopher 2010-04-29 14:51:17

回答

0

确保您删除的驱动程序的副本

%WinDir%\System32\DriverStore 

因为您尝试在系统上安装的驱动程序,否则新版本将不会被使用。 有两种方法可以做到这一点:

1)插入您的设备并安装不正确的驱动程序,并使用设备管理器删除,但删除时,使用鼠标菜单而不是删除键,然后检查有关“删除驱动程序”的框

2)在%WinDir%\ Inf中找到与您的驱动程序对应的OEM ##。inf文件。 使用提升的命令行窗口(即以管理员身份运行)使用

pnputil -d oem##.inf 

现在,您可以安装驱动程序的新版本。

0

如果你的代码是基于bulkusb.sys在WDK,你应该尝试编译批量USB设备驱动程序的代码包含在英特尔82930 USB测试板 WinDDK的C:\ WinDDK \ 7600.16385.1 \ src \ usb \ usbsamp \ sys。然后,如果它可以在您的环境中启动,请尝试将您使用的WinDDK的代码(用于yeas)作为驱动程序的模板与当前版本usbsampWinDDK 7600.16385.1进行比较。你会看到在usbsamp中产生了哪些变化。在你的程序中你可能应该做同样的改变。

我无法给出更准确的答案,因为我试图在代码中找到一个我看不到的错误。在我看来,这并不容易。

相关问题