阅读:1287回复:3
!求教关于USB读返回的问题!(花光为止急急急)
各位大虾,请帮忙看一问题如何解决!
我的USB驱动的对应于IRP_MJ_READ的USB的读程序是这样写的: UsbBuildInterruptOrBulkTransferRequest(。。。); 。。 KeInitializeEvent( &event, NotificationEvent, FALSE); IoSetCompletionRoutine(。。。); ntStatus = IoCallDriver( deviceExtension->TopOfStackDeviceObject, Irp); if( ntStatus==STATUS_PENDING) { KeWaitForSingleObject( &event, Executive, KernelMode, FALSE, NULL); ntStatus = Irp->IoStatus.Status; } 这样我的程序在进行读操作时就只有等待结束后才会返回,但如果我 想让ReadFile函数立即返回,怎么办,对于cancel掉这个Pending 的IRP没有成功过。 谢谢,请多多指教。不胜感激。 [编辑 - 8/23/03 by enjoylife] :P :P :P :P [编辑 - 8/23/03 by enjoylife] [编辑 - 8/23/03 by enjoylife] [编辑 - 8/23/03 by enjoylife] |
|
沙发#
发布于:2003-08-25 09:50
能不能在同步传输的情况下实现呢。
比如,我计算超时,然后取消IRP。 但具体怎样操作还没有成功。 请指点。 |
|
板凳#
发布于:2003-08-23 20:27
想让它立即返回就用异步irp吧
具体里成参考ddk里的bulkusb例子里面的bulkusb_read()和bulkusb_write()函数。 |
|
地板#
发布于:2003-08-23 16:04
没有人回复?
|
|