阅读:1085回复:0
请教工作者线程(WORK_QUEUE_ITEM)同步问题
不好意思,请教一个问题
我使用工作者线程(WORK_QUEUE_ITEM)同步READ, 我在pnp在AddDevice()时用 dx->Process=IoGetCurrentProcess();纪录线程。 然后在工作者线程中调用 WORK_QUEUE_ITEM { bool keatt=FALSE; if(dx->Process!=NULL) { keatt=TRUE ; KeAttachProcess (dx->Process); } 。。。。。。。。。。。。。 status=ZwReadFile(fdoExtension->hfile, NULL, NULL, NULL, &Irp->IoStatus, MmGetSystemAddressForMdl(Irp->MdlAddress), currentIrpStack->Parameters.Read.Length, &startingOffset, NULL ); 。。。。。。。。。。。。。 。。。。。 if(keatt==TRUE) KeDetachProcess(); } 这样做可以我总是删除驱动时不成功,能指点一下吗?谢谢 |
|
|