一个值得讨论的问题:请问下面三段代码在上层驱动程序看来有什么不同?Code 1:Read(){...IoSkipCurrentIrpStackLocation(Irp);return IoCallDriver(dx->LowerDeviceObject, Irp);}Cod...
全文
回复(11) 2002-07-22 10:26 来自版块 - USB驱动开发
表情
Henry第二个问题应该是完成例程处理有问题, 其余的不说,返回值用STATUS_MORE_PROCESSING_REQUIRED试试: return STATUS_MORE_PROCESSING_REQUIRED; 第三个除了有可能是设备没有完成请求在等待外与第二个相似。 ...(2002-07-25 14:42)
aiherong疏忽了! }else =>改为 }//else return STATUS_SUCCESS; } (2002-07-23 11:23)
aiherong给个栗子: NTSTATUS IOCompletion(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp,IN PVOID Context) { if (Irp->PendingReturned) {IoMarkIrpPen...(2002-07-23 11:19)
aiherongCode 1.If you call IoSkipCurrentIrpStackLocation before calling IoCallDriver, the next-lower driver receives the same IO_STACK_LOCATION that...(2002-07-23 11:06)
tigerzdCompletionRoutine到DDK的例子中找示例啊。(2002-07-23 11:04)
Henry按DDK的介绍来说,问题不在这里。 但我重试了好多次,只要一装上CompletionRoutine,就会有问题, 哪怕是在CompletionRoutine中什么也不做。不装就没有问题。 真是搞不懂!再说了,我翻遍了DDK的Help文档也只看到在IoSetCompletio...(2002-07-23 11:01)
tigerzd椐DDK所说,1、2的区别就是在能不能设置完成例程上。根据实践,确实也是如此,我认为你的程序问题应该不在这里。(2002-07-23 08:38)
Henry我也是这样想的。不过我实在是按DDK的Filter的例子来的。 也罢,明天再试了之后还有问题再说。不过我还是想不通 Code 1和Code 2有什么不同。(2002-07-22 20:00)
tigerzd这个问题估计就不是Complete Routing的问题了。其实关于PNP_REMOVE_DEVICE的处理,按DDK中BULKUSB或ISOUSB的处理方式做,完全没有问题的。(2002-07-22 15:27)
Henry第二个问题应该是完成例程处理有问题, 其余的不说,返回值用STATUS_MORE_PROCESSING_REQUIRED试试: return STATUS_MORE_PROCESSING_REQUIRED; 第三个除了有可能是设备没有完成请求在等待外与第二个相似。 ...(2002-07-22 14:30)

返回顶部