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即可。

經過替換後程序運行成功。

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