阅读:1322回复:0
(第一次发帖) 异步完成IRP求救 大侠帮忙
目的是这样的,有两个文件,testa.txt和testb.txt,要求,首先双击testa.txt,再双击testb.txt,但是testa.txt必须在testb.txt打开之后再打开.
我在MJ_CREATE的拦截函数里,写的类似这样的代码, IrpCreate(...,PIRP Irp) { ...... if(filename=="testa.txt) { aIrp=Irp;//将打开testa.txt的Irp指针保存起来 IoMarkPending(aIrp);// return STATUS_PENDING//延时完成 } if(filename=="testb.txt) { completeIrp(Irp);//完成打开testb的Irp return complete(aIrp);//完成打开testa的Irp } ..... } 如果没有最后一行代码时,执行结果是双击testa.txt时,notepad一直在等待打开,双击testb.txt时能打开,但是加上最后一行时,双击testa.txt时notepad等待打开,但是双击testb.txt时就蓝屏了. 我刚学驱动开发,哪位大侠能指导一下?谢谢!!!! |
|