Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1807回复:1

关于Attach到设备栈后

楼主#
更多 发布于:2001-06-20 14:23

是不是在驱动的AddDevice例程中将fdo Attach到设备栈之后,
驱动应当会收到一组PNP IRP呢?
如果没有收到,可能是什么原因呢?
Go,go ahead
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-06-22 10:22

也许我说的不清楚,是这样的:
现在一台Win2000系统上有一个虚拟串口,工作正常,
我想在其上加一个过滤驱动,但是系统在虚拟串口功能
驱动上本来就有一个过滤驱动serenum.sys,按照老办法
不知道怎样在其上再加一个过滤驱动了。
我现在做了一个简单的驱动,作为 UnKnown类的驱动添加到
系统中,但是在这个驱动的AddDevice例程里,在Attach到设备
栈时我将fdo attach到了上面那个虚拟串口上去了。安装完
后,从设备管理器上看不出有什么异常,但是新添的简单驱动
AddDevice例程虽然执行正确,PNP IRP处理例程却没有收到任何
PNP IRP,而且此时虚拟串口无法打开。
然后我又尝试把attach到虚拟串口这一动作推迟到收到第一个
PNP IRP时,即在收到第一个PNP IRP时,在对它处理之前再将
简单驱动的fdo attach到虚拟串口上,这样做,简单驱动在添加
时,AddDevice例程完成后共收到六个PNP IRP,依次为:
IRP_MN_QUERY_LEGACY_BUS_INFORMATION
IRP_MN_FILTER_RESOUCE_REQUIREMENTS
IRP_MN_START_DEVICE
IRP_MN_QUERY_CAPABILITIES
IRP_MN_QUERY_PNP_DEVICE_STATE
IRP_MN_QUERY_DEVICE_RELATIONS
在设备管理器上看起来一切正常,但是虚拟串口仍无法打开。

不知哪位大虾能指点迷津,谢谢。
Go,go ahead
游客

返回顶部