两个驱动程序安装错误

来源:互联网 发布:知乎日报 for mac dmg 编辑:程序博客网 时间:2024/06/06 07:02

我的驱动程序在32位平台上可以安装,在64位平台上却不能安装,但在64位平台上用手动安装的方法也能安装成功。

在64位平台上搭建了一个开发环境,对安装程序进行跟踪调试,发现在调用 SetupDiCallClassInstaller 函数时出错,用GetLastError()看了一下错误码,是 0x e0000235, 这是个ERROR_IN_WOW64错误,原因是因为在32位程序中调用了64位的dll, 我把安装程序改为x64 平台上,再编译运行,这个错误消失了。

参考了以下链接

http://www.techtalkz.com/microsoft-device-drivers/292837-problem-porting-32-bit-application-x64.html


第二个错误是在调用InstallSelectedDriver函数后返回false, 用GetLastError()看了一下错误码,是 0x e000022f, 这个错误生僻,是因为驱动程序中没有包含签名信息,原因是我打包时忘了把catalogue.cat文件放进去了,该打。

参考了以下链接

http://www.winvistatips.com/threads/re-setupcopyoeminf-doesnt-work-properly-if-running-as-a-service.186334/

改正之后,驱动程序可以在64位平台上顺利安装了。


0 0
原创粉丝点击