2020.4.3工作记录————WinDriver1221x64版本驱动接口库如何被32位程序调用

之前在Win10下做PCI卡的驱动测试,发现wd1020版本不能再win10环境安装,所以选择了wd1221x64版本。测试64位程序时没有错误,但是按照一样的步骤设置了项目属性后,32位程序运行时总返回no vaild license的错误,无法正确运行。

WD接口库链接步骤

经过排查,问题应该是出在系统位数不匹配上,同时我也发现在WinDriver文件夹下存放接口库文件的redis文件夹下除了有wdapi1221.dll库外,还有一个wdapi1221_32.dll库。这个应该就是32位的程序应该调用的库。

但是将这个wdapi1221_32.dll加进工程发现还是不行,然后我又发现在之前链接的lib文件夹中,.\lib\amd64路径下还有个x86文件夹,我将之前的 “.\lib\amd64” 路径换为 ”.\lib\amd64\x86"让工程链接x86版本的lib文件,结果还是失败。
在这里插入图片描述
最后在前辈的提醒下,才知道WinDriver的PCI用户手册里有关于64位系统支持32位程序的介绍,

WinDriver PCI用户手册

在这里插入图片描述
就在这个A.2. Support for 32-Bit Applications on 64-Bit Windows and Linux Platforms 里面。
以下是详细内容:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用户手册中说的很明确:在WIndows下想要以64位系统的WinDriver支持32位应用需要将redis文件夹中的wdapi1221_32.dll库文件的后缀 “_32” 删掉,然后将其复制到工程文件目录下或C盘系统默认32位库路径下\sysWOW64文件夹下,代替之前的64位库wdapi1221.dll即可。

经过替换后程序运行成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章