basalloy
驱动牛犊
驱动牛犊
  • 注册日期2002-03-20
  • 最后登录2006-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1646回复:7

驱动程序能否直接访问小端口设备对象?

楼主#
更多 发布于:2002-12-23 02:58
我们知道网络驱动程序是分层的,一般来讲,从应用层发来的数据要被封装为irp经过协议层、网络层,最后到小端口层;但如果一个不在网络驱动程序堆栈之内的驱动程序,直接将自己构造的irp发给网卡设备,那么这个irp是否还要经过协议层、网络层,最后才到小端口层?如果仍然要经过,有什么办法绕过以上两层,对小端口直接访问?
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-23 09:33
如果小端口是你自己写的应该不会有问题,如果不是你自己写的估计不行
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
basalloy
驱动牛犊
驱动牛犊
  • 注册日期2002-03-20
  • 最后登录2006-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-23 10:27
你是不是说,如果小端口驱动支持我的驱动发的irp,我的驱动就可以直接访问小端口驱动,但它上面的过滤或中间层不会先拦截吗?我现在主要是在这糊涂了:是否所有发往一个驱动的irp都要被其上面的中间层或过滤层拦截?或者如果我构造一个直接发往该设备的irp,该irp就不会被其它层拦截?
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-23 10:50
IRP协议层和ndis不会拦截,
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-23 10:58
你要确定一个sys支持你发的IRP,你的网卡驱动是sys的?
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-23 12:32
驱动之间或者应用与驱动之间只有那么几个接口可用!
你的IRP要WDM支持才行,就是别人提供了这个扩展接口并且你知道怎么用它!!
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
bingjie
驱动小牛
驱动小牛
  • 注册日期2001-08-15
  • 最后登录2007-11-29
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望5点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-23 12:41
DDK中有一个Packet例子,你把它稍微改一下,所有发往Miniport的Irp发给它,然后再把它封装为Packet发给Miniport。
basalloy
驱动牛犊
驱动牛犊
  • 注册日期2002-03-20
  • 最后登录2006-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-23 14:29
谢谢各位仁兄,分已经给过了!
游客

返回顶部