081620
驱动牛犊
驱动牛犊
  • 注册日期2009-04-30
  • 最后登录2010-08-17
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2085回复:1

如何动态更改网卡的最大传输速度

楼主#
更多 发布于:2010-06-03 13:24
我做了个虚拟网卡驱动,默认最大速度是100M 。
我在inf里修改NDI\params 可以动态修改网卡的速度。
现在出现几个问题:
1. 在驱动的高级属性面板里修改网卡速度后,NDIS驱动会自动停止然后重新启动,这样会造成传输断链。如何避免这个问题?也就是说 如何不让他停止再重启,在实时传输中就可以修改速度?
2. 最大带宽老板要求可以动态的改变,不要求是实时数据,但要求是个范围(比如说现在最大带宽100M,我可以用80M的速度传输,带宽低的时候,我们可以改为8M左右传输,最大速度显示为10M,如果可以高速,就改为1000M这样子),这个可做吗,怎么做呢?
3.手动修改速度可以改为在驱动代码里动态修改吗?这样上层发个IOCTL命令,要求修改多少,NDIS虚拟网卡内部就可以动态的修改,然后再网络状态面板中显示,inf文件就可以不加NDI\param选项了。

对了 使用NDIS库是NDIS6.0版本

我对NDIS不是很熟悉,烦请高手们指点

谢谢大家!

最新喜欢:

狼啸九天狼啸九天
wollok
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2012-07-18
  • 粉丝0
  • 关注0
  • 积分571分
  • 威望335点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-06-21 16:41
其实很简单的。NdisMIndicateStatus通知NDIS_STATUS_LINK_SPEED_CHANGE,然后处理OID_GEN_LINK_SPEED即可。
据说5.0之前可以直接在NDIS_STATUS_LINK_SPEED_CHANGE的时候用后面一个参数来通知速度。还是自己去试吧。呵呵
游客

返回顶部