阅读:1691回复:0
关于NDIS几种驱动之间的绑定问题
不知道哪有关于这方面的资料,有知道的 谢谢告诉一下
对于NDIS中的绑定概念和绑定过程理解不时很清楚,借用一个例子来表达的我疑问: DDK中说 在没有中间层(IM)驱动的 时候 ,协议驱动(protocol driver)直接绑定到小端口驱动(miniport driver)。 假设有一个协议驱动,两个小端口驱动(每个驱动对应一个NIC),NDIS会调用协议驱动的ProtocolBindAdapter2次?每个驱动一次。假设两次绑定都成功了,那么这时有2个协议到小端口的绑定? (插入另外一个问题,有2个绑定时,协议会选择哪个发送包呢?这好像是协议驱动内部实现的问题,还是会给2个绑定的miniport 均发送?) 如果以上的认知是正确的 ,此时我安装一个IM驱动,DDK说IM驱动会插入到所有的 协议到小端口的绑定之间。 那么,NDIS在插入IM时是不是先断开前面的2个绑定? 插入IM时,在DeveiceEntry结束后, 会针对每一个小端口均调用IM的 ProtocolBindAdapter吗? 假设实现一个 filter IM,这时 对每一次ProtocolBindAdapter调用,IM均会生成一个新的虚拟adapter,这样便会有2个新的adapter(虚拟的),然后NDIS会对协议驱动分别针对这2个虚拟apdater调用ProtocolBindAdapter 吗? 如果上述认知是正确的 。 那在插入一个IM驱动时会是什么情况? 如果上面的认知有错误,希望能给以指点,或告知参考资料~~~~ 谢谢各位大牛 |
|