bugz
驱动牛犊
驱动牛犊
  • 注册日期2006-11-22
  • 最后登录2008-09-02
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:1296回复:2

请教一个初级问题

楼主#
更多 发布于:2007-09-14 11:46
windows下的协议驱动,miniport驱动,网络适配器绑定到底之间有什么关系?比如网卡受到一个包后他怎么知道把这个包发给哪个protocol driver去处理,是protocol driver注册时告诉miniport driver它处理什么type的数据包吗?
还有如果我写了一个protocol driver,我想把这个driver绑定到所有网卡上,如果这时系统安装了一个新的网卡,怎么可以保证我的driver可以绑定到后来新安装的网卡上去?
新手问题比较低级,呵呵。望这里的高人指教。
bugz
驱动牛犊
驱动牛犊
  • 注册日期2006-11-22
  • 最后登录2008-09-02
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-09-29 10:51
多谢,明白了
Chequer Jiang
驱动牛犊
驱动牛犊
  • 注册日期2007-09-13
  • 最后登录2007-12-17
  • 粉丝1
  • 关注0
  • 积分290分
  • 威望30点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-09-14 14:02
这个问题其实比较复杂。你涉及到了NDIS比较核心的部分。在我们编写NDIS protocol driver时,我们在ProtocolBindAdapter可以侦测出将要绑定的网卡是什么类型的(比如ethernet)。我们可以决定要不要绑定这块网卡。对于一个protocol driver来说,NDIS会针对系统中所有的miniport adapter,呼叫多次ProtocolBindAdapter。每次把不同的miniport adpater传进来。
就是说,ProtocolBindAdapter会自动得到系统中所有的网卡。如果系统中新加了一块网卡,NDIS会自动再次呼叫所有protocol driver的ProtocolBindAdapter函数。
本质上来说,一快网卡同时被多个protocol绑定;一个protocol driver也同时绑定了多块网卡。他们是m:n的关系。
游客

返回顶部