【问题标题】:NDIS proto sample and ethernet bridgeNDIS 原型样例和以太网桥
【发布时间】:2013-03-21 21:10:04
【问题描述】:

我试图使用 WDK for Win 7 中给出的 NDIS 原型示例在两个以太网适配器之间编写一个测试桥接。到目前为止,我刚刚构建了驱动程序和原型测试。 现在我想知道如何继续? 有没有办法一次只绑定几个适配器?

【问题讨论】:

  • @Jeffrey-Tippet 有什么想法吗?

标签: c++ windows-7-x64 ndis


【解决方案1】:

NDIS 协议自动绑定到所有支持的适配器。所以你不需要做额外的工作来让 NDISPROT 通过两个以太网 NIC 绑定。

构建驱动程序后,您需要做的就是:

  1. 安装驱.
  2. 启动驱动程序服务(使用StartService API;或者对于临时实验,net start ndisprot 可以)。

就是这样。 NDIS 将为系统上的每个以太网 NIC 调用协议的 ProtocolBindAdpaterEx 处理程序。这个回调在示例中被命名为NdisprotBindAdapter

使用!ndiskd.protocol 验证您的协议现在是否绑定到多个微型端口。

【讨论】:

  • 谢谢 Jeffrey,我可以只绑定到选定的适配器吗?
  • 另外,这是制作以太网桥的正确方法还是应该使用微型端口或过滤器驱动程序?您知道 NDIS6.x 中的任何示例以太网桥驱动程序吗?
  • 要绑定到选定的适配器:在用户模式下,使用 INetCfgBindingPath::Enable(FALSE) 禁用与某些适配器的绑定。在内核模式中:在您的 ProtocolBindAdapterEx 处理程序中,如果您不想绑定,只需选择不调用 NdisOpenAdapterEx。
  • Windows 带有以太网桥接器,因此这是比较的最佳示例。它被实现为一个 MUX-IM 驱动程序,要正确使用它相当复杂。与常规协议相比,MUX-IM 的优势在于桥接适配器显示为操作系统的 1 个统一网络接口。如果桥接适配器每个都独立出现在操作系统上是可以的,那么您不需要 MUX-IM,协议就足够了。
  • 在出现独立于操作系统的桥接适配器时没有问题,但我现在感到困惑的是,在阅读此链接tech-archive.net/Archive/Development/… 后,是否可以通过修改 passthru 来实现相同的目的?如果是,想知道怎么做?
猜你喜欢
  • 1970-01-01
  • 2017-10-09
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
  • 2018-06-11
  • 2011-09-30
  • 2017-12-26
  • 2013-02-20
相关资源
最近更新 更多