阅读:1200回复:2
ndis是如何处理IRP的啊?
我要做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吧? |
|
沙发#
发布于:2008-02-17 18:00
为什么需要两层?一层就够了
1. NDIS会下发,同时也会做一些自己的处理 2. 有些IRP并不是传输驱动发下来的。比如PnP IRP,应该是有PnP管理器发给NDIS的 3.4. 是 其实只要把NDIS+Miniport Driver合起来当作一个完整的WDM设备驱动,就很容易理解了 |
|
板凳#
发布于:2008-02-17 22:12
谢谢楼上的解答
应该是一层,但我看到的代码的确是2个目录,2个DriverEntry。 一层的应该是一个DriverEntry吧? NDIS库是不是隐藏了某些IRP的下发?一个IRP若没有被Miniport Driver处理,ndis库就会下发该IRP吗? |
|