vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2639回复:7

应用程序叫用了CancelIo以后

楼主#
更多 发布于:2004-08-11 11:22

switch(::WaitForSingleObject(m_ovRead.hEvent,dwTimeOut))
{
   case WAIT_OBJECT_0:
   if (::GetOverlappedResult (hUsb,&m_ovRead,dwRealReadLen,true)) {iReturn=0;}
   break;
case WAIT_TIMEOUT:
   ::CancelIo(hUsb);
   break;
default:;
}
}

请问应用程序叫用了CancelIo以后,对驱动程序会产生怎样的行为?
会产生新的irp或是?
lejianz
驱动中牛
驱动中牛
  • 注册日期2003-03-05
  • 最后登录2023-11-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望145点
  • 贡献值0点
  • 好评度116点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-08-11 13:01
IRP_MJ_CLOSE
一起交流,共同提高!
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-11 15:47
产生三个新问题
应用程序叫用CancelIO,驱动收到IRP_MJ_CLOSE后

1谁去停掉目前正在进行的IRP,IO manager吗?
2 CancelIO自变量用有指定特定的handle,在驱动里怎么知道他指定的那个Handle是哪一个pipe handl?
3怎么去区分是 应用过程调用CloseHandle àIRP_MJ_CLOSE
还是应用过程调用CancelIO-->IRP_MJ_CLOSE?

如果你知道任何一个的话
拜托 请告诉我
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-16 14:34


你是乱答的吗?
我抓很久都没有抓到CLOSE
bluedreammer
驱动牛犊
驱动牛犊
  • 注册日期2005-04-06
  • 最后登录2007-03-27
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-07-21 13:23
同样的问题!请达人帮解~~~
isolator
驱动牛犊
驱动牛犊
  • 注册日期2002-11-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-07-22 17:26
在应用程序调用CancelIo后,操作系统会将为该线程发出的所有未完成的异步IRP调用IoCancelIrp。IRP的取消例程就会被调用。
tianrongcai
驱动牛犊
驱动牛犊
  • 注册日期2005-06-24
  • 最后登录2011-03-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望39点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-07-26 16:01
你脑子有问题!.牛头不对马嘴!WaitForSingleObject => KeWaitForSingleObject
yonkee
驱动牛犊
驱动牛犊
  • 注册日期2006-11-24
  • 最后登录2009-02-24
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-04-16 23:01
...
你自己看错了吧, 这个是APP.
游客

返回顶部