我做了一个usb转虚拟串口的驱动,现在准备提供异步读写方式,因为同步的话,会导致应用在readfile的时候占用cpu时间太多。现在应用中使用readfile()来进行读取,由于他没有指定readfile中要读的数据的长度(总是指定为1024),所以在我的驱动中要构造很多的irp...
全文
回复(13) 2004-12-01 11:50 来自版块 - 内核编程
表情
tooflat我猜想,也许你需要调用的是IoFreeIrp(2004-12-02 16:58)
xiaorain我是在自己分配的irp的完成历程里取消自己分配的多余的irp。 我尝试了一下,在cancel的时候,有pagefault,错误是0000000A,driver_irql_not_less_or_equal, 再问一个问题阿,是不是一定要完成历程返回了才能说irp被彻底完成了?...(2004-12-02 12:12)
Shentu在完成例程里面调用IoCancelIrp没有关系的,放心调用就可以了。(2004-12-01 21:58)

返回顶部