chenfeng111
驱动牛犊
驱动牛犊
  • 注册日期2004-09-29
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望55点
  • 贡献值0点
  • 好评度34点
  • 原创分0分
  • 专家分0分
阅读:1200回复:2

ndis是如何处理IRP的啊?

楼主#
更多 发布于:2008-02-16 00:22
我要做nids-wdm型的无线网卡驱动,现有的代码分2层,2个DriverEntry。
想请教几个问题:
1、我看不到微端口层处理IRP-MN-START-DEVICE,但USB层处理了。也看不到微端口层下发该IRP啊?难道是ndis库直接把该IRP下发给USB层驱动了
2、整个irp向下的大概流程是传输驱动-〉ndis协议-〉微端口-〉USB驱动 吗?
3、ndis驱动是向ndis库注册回调函数,所以只能由ndis库来调用ndis驱动吧?
4、NDIS Interface其实就是ndis.sys吧?
rangzh
驱动小牛
驱动小牛
  • 注册日期2005-04-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望150点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-02-17 18:00
为什么需要两层?一层就够了

1. NDIS会下发,同时也会做一些自己的处理

2. 有些IRP并不是传输驱动发下来的。比如PnP IRP,应该是有PnP管理器发给NDIS的

3.4. 是

其实只要把NDIS+Miniport Driver合起来当作一个完整的WDM设备驱动,就很容易理解了
chenfeng111
驱动牛犊
驱动牛犊
  • 注册日期2004-09-29
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望55点
  • 贡献值0点
  • 好评度34点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-02-17 22:12
谢谢楼上的解答
应该是一层,但我看到的代码的确是2个目录,2个DriverEntry。
一层的应该是一个DriverEntry吧?
NDIS库是不是隐藏了某些IRP的下发?一个IRP若没有被Miniport Driver处理,ndis库就会下发该IRP吗?
游客

返回顶部