windows xp/ server 2003 usb 驱动开发 记录

 

 

1.公司有个usb驱动,原来只支持win7以上的系统,有客户提出要支持 xp和2003系统。

2.usb 驱动原来是基于wdf开发的,想适配xp,但是有不能改接口,所以最好的方案就是复用原来的wdf的驱动代码;

3. 要用wdf,又要支持xp,只能用wdk7600 以下的版本。

4.移植遇到的问题

4.1 xp的内存分配,wdk7600的wdm.h文件没有 NonPagedPoolEx的 POOL_TYPE,而原来由于win8以上的系统安全性考虑, WdfMemoryCreate分配的内存是NonPagedPoolEx,

这个地方直接修改成NonPagedPool。

4.2 安装wdk7600后,参考usbsamp的例子修改,将里面的.c,.h等文件删掉,然后替换为我们的驱动文件,然后修改source,.inx等文件,主要是将 驱动的名字 修改为我们驱动的名字xxx。

4.3.对照我们的inf修改,将vid,vid等信息修改掉;

4.4. 使用wdk7600提供的编译环境,切换到驱动目录,输入build,就能编译出新的驱动。

4.5.运行驱动,ok。

4.6. 编译xp,发现没有xp 64bit的编译环境,直接复用 windows server 2003的环境编译 64bit的驱动。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值