我是靠谱客的博主 和谐芒果,最近开发中收集的这篇文章主要介绍32位USB设备驱动工程移植64位编译(用到vdw_wdm.lib),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本过程在原有32位驱动项目与驱动文件(INF文件)的基础上修改。


一、编译vdw_wdm.lib for AMD64

1、安装VC++6.0

2、安装DriverStudio_3.2

3、安装Windows 2003 DDK

4、用VC++6.0打开VdwLibs.dsw(位于DriverStudio安装目录CompuwareDriverStudioDriverWorkssource)项目,在FileView栏将VdwLibs files右键设为活动工程。

5、选择菜单栏 组建(Build->批组建(Batch Build,勾选VdwLibs - Win32 AMD64 WDM Checked,Build

6、选择菜单栏 DriverStudio->DDK Build Settings。在DDK栏填入Windows 2003 DDK目录,例:“D:WINDDK3790.1830”。按OK

7、选择菜单栏 DriverStudio->Build with BUILD.EXE,即可(直接用VC6.0build报错)。


解释:工程用到vdw_wdm.lib,因此首先需要编译64位的vdw_wdm.lib。vdw_wdm.lib是DriverStudio_3.2带有的库,必须先经过编译VdwLibs.dsw项目生成库文件才能使用。DriverStudio_3.2不支持WDK,需用DDK编译,编译生产库位于CompuwareDriverStudioDriverWorkslibamd64checked目录内。查网络说AMD64比IA64兼容性更好,未验证过。




二、编译sys文件

1、安装GRMWDK_EN_7600_1,即WDK

2、打开WDK 7600.16385.1->Build Environments->Windows 7->x64 Checked Build Environment

3、将路径cd入驱动项目,输入命令build回车即可。此步骤不会将此项目全部编译成功,但足以生产sys文件(提示 1 executable built)。

4、生产的sys文件位于驱动项目driverobjchk_win7_amd64amd64目录中。


解释:移植驱动到win7 64位系统,WDK带有此编译环境可直接使用。编译的项目带有一个driver和一个app工程,我不需要此app(已淘汰),故在直接使用win7 64bit编译环境(没有vs)的情况下app编译出错(未处理),XP系统上VS编译出的纯app程序在win7 64位系统上与此sys文件连接良好,未发现bug。




三、手动修改INF文件

原32位:

[Manufacturer]

%MfgName% = XXX

 

[XXX]

; DisplayName               Section           DeviceId

%XX_DeviceDesc%=YY, USBVID_A133&PID_C001


; --------- Windows NT -----------------

[YY.NT]

....

 

[YY.NT.Services]

....

修改64位

[Manufacturer]

%MfgName% = XXX,NTAmd64

 

[XXX.NTAmd64]

; DisplayName               Section           DeviceId

%XX_DeviceDesc%=YY, USBVID_A133&PID_C001

 

; --------- Windows NT -----------------

 

[YY.NTAMD64]

 ....


[YY.NTAMD64.Services]

.....


解释:关于INF文件,具体可以参考htp://blog.csdn.net/whatday/article/details/10608431,说的挺详细的,没找到原创。。



最后一个问题就是驱动的数字签名问题,这个需要用RMB买。。到写这个为止还没找到不用RMB的方法(有点失败。。求指导。。。)。

绕过办法:

1、可以每次开机F8,选禁用驱动程序签名强制。

2、下载dseo13b.exe软件,写入一个测试签名,使能系统测试模式,重启,永久有效(就是右下角有个水印= =)。


最后

以上就是和谐芒果为你收集整理的32位USB设备驱动工程移植64位编译(用到vdw_wdm.lib)的全部内容,希望文章能够帮你解决32位USB设备驱动工程移植64位编译(用到vdw_wdm.lib)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部