20楼#
发布于:2005-07-18 13:04
协议绑定到minipor后,会生成一个OpenBlock,以后的收,发都是一个函数指针直接调用,在这个层次上,还哪里有irp呢?我很想知道你的具体实现,请教了?
|
|
21楼#
发布于:2005-07-18 14:10
windows所有的设备都遵循设备栈的层次结构,在这个层次结构中就一定有IRP,网卡也不会例外。
“函数指针直接调用”,该指针就是MINIPORT提供的回调函数。 在MINIPORT的回调函数里,要实现数据的下行,就是通过对PCI总线发IRP实现的。 事实上,在WINDOWS的分层体系中,不管是协议栈,还是设备栈,每一层对上一层提供的接口都是一个或一些函数指针。 在IMD这一层,所有的操作就到此指针为止了。但并不说明下面没有IRP的操作。 IMD按OSI模型来说,应该是位于数据链路层了吧,在这一层看不到IRP,这是很应该的。但是在物理层就会有IRP。 至于实现,所有对针对PCI设备的FILTER,都可以拿来修改。而且不要太多的改动,就能跑起来。 |
|
22楼#
发布于:2005-07-18 14:38
>>在MINIPORT的回调函数里,要实现数据的下行,就是通过对PCI总线发IRP实现的。
这话就不对,看看ddk里的miniport 代码,e100bex,ne2000的代码,就直接安装中断了,哪里还用往下传了. 你用不用msn,发到zhao_ck@sohu.com,我们好好讨论一下这个问题,我认为你说的很成问题,实现不了. |
|
23楼#
发布于:2005-07-19 09:07
讨论结果,对usb网卡,有可能,对一般网卡,没有可能实现,还是应该采用imd
|
|
24楼#
发布于:2005-07-19 12:03
今天跟主管交流了一下,项目可以到下月初正式启动,前期给我时间调研,所以要搞得深入一点。只好再厚着脸皮麻烦大家。
像我这种要求:要在中间层过滤掉所有原来windows的包,同时又要向应用层提供通讯功能(读、写一个帧,有可能的话再加上中断功能),难度有多大?大概要多长时间开发? 可能的话可否告诉我具体参考什么例子?我看到现在过滤包的例子不少,但同时绕开windows上层直接应用层通讯的(比如可以调用ReadFile,WriteFile读写帧)的好像不多。 斑竹和asmsys真是个热心人,希望有天像你们一样,为驱动网多做贡献! |
|
25楼#
发布于:2005-07-19 17:43
下面是引用raingl于2005-07-19 12:03发表的: xpddk的passthru,最合适。 pcausa的passthru也可以。 |
|
上一页
下一页