阅读:2506回复:4
急!!!求救!!USB驱动写正常,读被阻塞了.
去动是用DDK例程修改的,使用批量读写,异步发送读写请求,写的时候正常,设备能收到写入的数据。读的时候请求被阻塞,当使用
if (!WdfRequestSend(Request, WdfUsbTargetPipeGetIoTarget(pipe), WDF_NO_SEND_OPTIONS)) { Ecg_DbgPrint(3, ("ReadWrite Fail")); status = WdfRequestGetStatus(Request); ASSERT(!NT_SUCCESS(status)); } 发送请求后得不到完成返回。应用程序停止响应进入无限等待状态。用IRP Trace检查请求已经发送到PDO0 USB端口,然后无限等待。用Bus Hound检测不到发送的IRP。 传上源码,请各位大哥给瞧瞧,是什么问题。 |
|
沙发#
发布于:2010-12-03 09:06
兄弟,我现在也在学习USB驱动,我的理解是你的应用程序是不是采用同步方式,试试用异步文件操作呀。
我的驱动更奇怪,写只可以成功写两次,第三次就不成功了,现在都还不知道哪里的问题,搞得非常郁闷。 http://bbs.driverdevelop.com/read.php?tid-122535.html 看我的帖子 |
|
板凳#
发布于:2010-12-04 00:46
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2010-12-06 09:33
回 2楼(eaatcc) 的帖子
固件没有收到数据,今天用IRP Trace查看发现我的驱动在加载的时候有个Urb请求一直在等待,操作码是IRP_MJ_INTERNAL_DRVICE_CONTROL,处于为决定阶段,针对的端口是USBPDO-0(USBUHCI), |
|
地下室#
发布于:2010-12-07 11:48
问题已终于解决
谢谢上面朋友的热心帮助, |
|