阅读:2295回复:2
开发的USB设备驱动程序,Win7上运行不稳,XP完全正常
看了一个月《Windows驱动开发详解》,依照光盘17章BulkUsb的实例代码写了个USB设备驱动(实现让用户层自定义setup包,传给Driver,再发送出去)。
在Xp上能够100%正常工作。然后,使用wdk编译除win7版本,在Win7上大概有1/50的几率出错。 比如:在用户层构造一个GetDeviceDescriptor的setup包,大多数时候获取的数据都是对的。 (有一个现象是:如果高速的反复发送GetDeviceDescriptor,比间隔1s发送,错误率低很多。即,越慢越容易出错) 错误的位置大概是 IoCallDriver(deviceExtension->TopOfStackDeviceObject, irp)这个函数返回。由于win7上没法使用irpTrace,所以我也不确定。从log大概定位到这里。 我有这么几个问题: > WDM驱动能在Win7上正常工作吗?我这个XP上正常的驱动,是否就应该能直接在win7上用. (光盘17章的源程序有朋友在Win7上跑过吗) > Win7上有什么类似irpTrace的工具吗.irpTracker我的win7上也不好用,老蓝屏. > 上面提到的错误,我应该从什么方面着手检查? > 有没有必要改用WDF重新实现,为了在Win7上使用. |
|
沙发#
发布于:2013-01-25 21:44
肯定是wdf的好,因为是调用微软的wdfcostall动态库。
|
|
|
板凳#
发布于:2013-07-30 15:14
用户被禁言,该主题自动屏蔽! |
|