liuyan1
驱动老牛
驱动老牛
  • 注册日期2001-08-27
  • 最后登录2023-04-18
  • 粉丝0
  • 关注0
  • 积分1031分
  • 威望477点
  • 贡献值0点
  • 好评度187点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1086回复:0

请教工作者线程(WORK_QUEUE_ITEM)同步问题

楼主#
更多 发布于:2001-12-18 11:04
不好意思,请教一个问题
我使用工作者线程(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();
}


这样做可以我总是删除驱动时不成功,能指点一下吗?谢谢
楼上的客,楼下的客,听我老坎说明白,要苛屎有草纸,不要扯我的麦席子,要苛尿有夜壶,不要在床上划地图。
游客

返回顶部