jiratao
驱动牛犊
驱动牛犊
  • 注册日期2010-07-16
  • 最后登录2011-03-13
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望211点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3496回复:6

【讨论】多网卡下的ndis驱动

楼主#
更多 发布于:2011-01-21 10:50
现在的机器多网卡也是很平常的事了,如何处理多网卡下ndis驱动的问题呢??
我们在写驱动的时候,在driverentry中设置了设备名和符号连接名,然后安装到指定网卡,再在应用程序中通过createfile打开符号连接名来获取驱动的句柄从而对驱动进行操作。
那么,如果有多个网卡的情况下,论坛中的自动安装网卡驱动的程序如何去知道要安装到哪块网卡呢?即使都安装后,在应用程序中createfile的时候,驱动的符号连接名都是一样的,怎么知道要打开的哪一个驱动呢???

以上!大家来探讨一下,有这方面经验的大大们还望不吝赐教,分享分享呵
iihacker
论坛版主
论坛版主
  • 注册日期2010-01-07
  • 最后登录2017-08-16
  • 粉丝5
  • 关注8
  • 积分377分
  • 威望1941点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2011-01-25 10:15
不知道你是说哪层的驱动? 协议层 中间层。 问的也挺乱。 至于多网卡,可以通过他们的MAC地址进行区分。至于你说自动安装代码安装到哪个网卡? 默认是绑定所有网卡(IMD)。
NDIS 1群74755180 NDIS 2群182802097 交换机软硬件技术群 187471475 FPGA PCI PCIE 群187471817
jiratao
驱动牛犊
驱动牛犊
  • 注册日期2010-07-16
  • 最后登录2011-03-13
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望211点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2011-01-25 10:28
我用的是微软例子代码改写的ndis驱动,应该是中间层驱动。
今天安装了第二块网卡,第一块网卡上安装了驱动的,第二块网卡弄好后多了一个本地连接,其属性中项目和第一块的一样~~也有我之前的驱动。
因为我在驱动中创建的符号连接名,然后在应用层打开这个符号链接来获取驱动句柄对驱动进行读写控制等操作,现在两块网卡都是一样的驱动了,我在应用层打开的是谁呢??
iihacker
论坛版主
论坛版主
  • 注册日期2010-01-07
  • 最后登录2017-08-16
  • 粉丝5
  • 关注8
  • 积分377分
  • 威望1941点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2011-01-25 10:33
应用层打开的是自己的驱动(IMD),自己的驱动再去过滤网卡驱动的接收和发送的数据。
NDIS 1群74755180 NDIS 2群182802097 交换机软硬件技术群 187471475 FPGA PCI PCIE 群187471817
jiratao
驱动牛犊
驱动牛犊
  • 注册日期2010-07-16
  • 最后登录2011-03-13
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望211点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2011-01-25 11:52
引用第3楼iihacker于2011-01-25 10:33发表的  :
应用层打开的是自己的驱动(IMD),自己的驱动再去过滤网卡驱动的接收和发送的数据。  

没明白额,应用层打开的就是我写的过滤驱动吧?现在这个驱动安装在了两块网卡上了,我打开了驱动进行读写会同时对这两块网卡起到作用吗?
iihacker
论坛版主
论坛版主
  • 注册日期2010-01-07
  • 最后登录2017-08-16
  • 粉丝5
  • 关注8
  • 积分377分
  • 威望1941点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2011-01-25 14:15
你的同时是宏观的。 微观来说只对一个网卡操作。
 1 区分网卡(MAC地址)
 2  分别处理
NDIS 1群74755180 NDIS 2群182802097 交换机软硬件技术群 187471475 FPGA PCI PCIE 群187471817
jiratao
驱动牛犊
驱动牛犊
  • 注册日期2010-07-16
  • 最后登录2011-03-13
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望211点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2011-01-26 10:24
那我可不可以这样理解:
驱动我只要写一个,两块网卡都是安装的同一个驱动,我在应用层对我的过滤驱动发出了操作指令,到这里我的工作就完成了,然后由驱动去分别处理那两块网卡。
不知道是不是这么回事?~望指教,多谢!
游客

返回顶部