阅读:1646回复:7
驱动程序能否直接访问小端口设备对象?
我们知道网络驱动程序是分层的,一般来讲,从应用层发来的数据要被封装为irp经过协议层、网络层,最后到小端口层;但如果一个不在网络驱动程序堆栈之内的驱动程序,直接将自己构造的irp发给网卡设备,那么这个irp是否还要经过协议层、网络层,最后才到小端口层?如果仍然要经过,有什么办法绕过以上两层,对小端口直接访问?
|
|
沙发#
发布于:2002-12-23 09:33
如果小端口是你自己写的应该不会有问题,如果不是你自己写的估计不行
|
|
|
板凳#
发布于:2002-12-23 10:27
你是不是说,如果小端口驱动支持我的驱动发的irp,我的驱动就可以直接访问小端口驱动,但它上面的过滤或中间层不会先拦截吗?我现在主要是在这糊涂了:是否所有发往一个驱动的irp都要被其上面的中间层或过滤层拦截?或者如果我构造一个直接发往该设备的irp,该irp就不会被其它层拦截?
|
|
地板#
发布于:2002-12-23 10:50
IRP协议层和ndis不会拦截,
|
|
|
地下室#
发布于:2002-12-23 10:58
你要确定一个sys支持你发的IRP,你的网卡驱动是sys的?
|
|
|
5楼#
发布于:2002-12-23 12:32
驱动之间或者应用与驱动之间只有那么几个接口可用!
你的IRP要WDM支持才行,就是别人提供了这个扩展接口并且你知道怎么用它!! |
|
|
6楼#
发布于:2002-12-23 12:41
DDK中有一个Packet例子,你把它稍微改一下,所有发往Miniport的Irp发给它,然后再把它封装为Packet发给Miniport。
|
|
7楼#
发布于:2002-12-23 14:29
谢谢各位仁兄,分已经给过了!
|
|