dweep
驱动牛犊
驱动牛犊
  • 注册日期2003-12-20
  • 最后登录2007-12-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1208回复:1

Passthru中调用NdisRequest问题

楼主#
更多 发布于:2004-02-13 15:32
小弟正在学习NDIS开发,有问题想请教大家。
我在Passthru的protocol.c的PtOpenAdapterComplete function中
NdisSetEvent(&pAdapt->Event);一句后添加了以下代码,想试着得到NDIS的版本号。tmp是个UCHAR数组。
pAdapt->Request.DATA.QUERY_INFORMATION.Oid = OID_GEN_DRIVER_VERSION;
pAdapt->Request.DATA.QUERY_INFORMATION.InformationBuffer = tmp;
pAdapt->Request.DATA.QUERY_INFORMATION.InformationBufferLength = sizeof(tmp);
NdisRequest(&Status,pAdapt->BindingHandle,&pAdapt->Request);
然后又在PtRequestComplete function中加入打印得到的版本信息的语句,发现有以下现象:
1。直接安装改动后的passthru driver,用DbgView可以看到查询成功且正常打印出NDIS的version。但重启机器后蓝屏,显示IRQL Level is not less or equal level(大意如此),可是PtOpenAdapterComplete是运行在IRQL PASSIVE_LEVEL的,NdisRequest是运行在IRQL <= DISPATCH_LEVEL的,那在PtOpenAdapterComplete中调用NdisRequest应该没问题啊。是我理解错误吗?
2.想用SoftICE boot调试,但是刚进入win2000启动界面就死掉,键盘无响应,没办法调试。
大家给出出主意吧,谢谢了。 :(
ftp://Landy:ydnaL@210.25.133.57 用于驱动资料文档软件代码上传下载 位于中国教育科研网内 开放时间:24×7
dweep
驱动牛犊
驱动牛犊
  • 注册日期2003-12-20
  • 最后登录2007-12-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-02-17 23:11
这两天浏览了前面关于NdisRequest的所有的帖子,还是找不到自己的问题所在。晕……孤军奋战感觉真痛苦…… :mad: :mad: :mad:
ftp://Landy:ydnaL@210.25.133.57 用于驱动资料文档软件代码上传下载 位于中国教育科研网内 开放时间:24×7
游客

返回顶部