阅读:1186回复:2
关于中间层驱动的问题,请大侠们帮助
小弟最近学习NDIS,对中间层驱动有些不明白之处,还请各位大侠帮助!
(1)中间层驱动是否只能有一个? (2)如果中间层驱动可以有若干,那么他们是并列关系,还是分层关系?如果有多个中间层,那么协议层调用NDISsend发送数据时,调用的是那个中间层? (3)中间层在函数ProtocolBindAdapter()中调用函数NdisOpenAdapter()与下层绑定,那么中间层在什么地方调用那个函数和上层绑定呢?这个绑定在什么时候被调用。 (4)如果中间层驱动下面有若干NIC或小端口驱动,那么他会把数据发送到其中之一,还是发送到所有?通过什么函数的什么参数来控制? (5)协议层驱动是否只有一个?如果有多个,那么中间层向上层提交接收的数据包时会提交给那一个协议层驱动?这是由那个函数的那个参数决定的? 小弟恳求各位大侠不吝赐教 |
|
沙发#
发布于:2004-06-22 15:09
没人回答? UP一下1
|
|
板凳#
发布于:2004-06-22 17:46
(1)中间层驱动是否只能有一个?
答:可以有N个。 (2)如果中间层驱动可以有若干,那么他们是并列关系,还是分层关系? 答:上下层的关系。 如果有多个中间层,那么协议层调用NDISsend发送数据时,调用的是那个中间层? 答:看看ndis.h对NdisSend的定义就明白了。 (3)中间层在函数ProtocolBindAdapter()中调用函数NdisOpenAdapter()与下层绑定,那么中间层在什么地方调用那个函数和上层绑定呢?这个绑定在什么时候被调用。 答:你输出了PROTOCOL接口,自然会有人绑定你,不能两头都主动绑定,会搞乱的。 (4)如果中间层驱动下面有若干NIC或小端口驱动,那么他会把数据发送到其中之一,还是发送到所有?通过什么函数的什么参数来控制? 答:看他上面让他发送到哪个。参数是MiniportAdapterContext (5)协议层驱动是否只有一个?如果有多个,那么中间层向上层提交接收的数据包时会提交给那一个协议层驱动?这是由那个函数的那个参数决定的? 答:同上。参数是 ProtocolBindingContext |
|