mailporn
驱动牛犊
驱动牛犊
  • 注册日期2002-03-12
  • 最后登录2008-10-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望20点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
阅读:1791回复:11

passthru中如何得到网卡名

楼主#
更多 发布于:2002-08-07 14:18
我有多个网卡,如何知道MPSend函数是发送哪个网卡的数据

最新喜欢:

linwnlinwn
海人
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-07 18:02
binding函数的入口参数DeviceName就是网卡名,你可以把它记在Adapter结构里,MPSend的时候检查就行了。
写驱动不如买足彩!!
mailporn
驱动牛犊
驱动牛犊
  • 注册日期2002-03-12
  • 最后登录2008-10-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望20点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-08 08:54
没有binding函数
只有在协议(protocol.c)中有PtBindAdapter函数,我用DbgPrint看DeviceName值,结果其值为\"\\^?\"

其实我想在miniport中的PtSend函数中知道是哪个网卡
海人
ufo_online
驱动牛犊
驱动牛犊
  • 注册日期2002-04-26
  • 最后登录2004-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-08 09:46
 
只有在协议(protocol.c)中有PtBindAdapter函数,我用DbgPrint看DeviceName值,结果其值为\"\\^?\"

其实,这就是系统所认同的DeviceName,即使你使用两块完全相同的网卡,其值也是不一样的,这样系统才能区分嘛!
你的意思可能是要的到注册表中的Description吧?这一项只是为了显示方便而已,系统不可能用这一向对设备进行区分。
mailporn
驱动牛犊
驱动牛犊
  • 注册日期2002-03-12
  • 最后登录2008-10-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望20点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-08-08 09:59
再请教一个问题,那我如何才能与注册表中的关联起来呢,否则还是不知道那个对应那个呀

谢谢你的帮助!
海人
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-08-08 10:54
没有binding函数
只有在协议(protocol.c)中有PtBindAdapter函数,我用DbgPrint看DeviceName值,结果其值为\"\\^?\"

其实我想在miniport中的PtSend函数中知道是哪个网卡


老大!DeviceName是个UNICODE_STRING结构,在Passthru里叫做NDIS_STRING,不是一个字符串。不用我说的这么详细吧?
写驱动不如买足彩!!
mailporn
驱动牛犊
驱动牛犊
  • 注册日期2002-03-12
  • 最后登录2008-10-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望20点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-08-08 11:02
这我当然知道了

我用DbgPrint(\"%ws\\n\",DeviceName)输出的

也试过DbgPrint(\"%ws\\n\",DeviceName.Buffer)
海人
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-08-08 11:07
再请教一个问题,那我如何才能与注册表中的关联起来呢,否则还是不知道那个对应那个呀


你有必要和注册表关联吗?不明白你说的管联是什么意思,是你人知道就可以了呢,还是你的Driver要知道,我想没这个必要吧。

我是没有想过这么多,不过估计你用OID_GEN_VENDOR_DESCRIPTION去查询一下应该是可以的。得到的值我估计应该是注册表里的ComponentId。
写驱动不如买足彩!!
mailporn
驱动牛犊
驱动牛犊
  • 注册日期2002-03-12
  • 最后登录2008-10-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望20点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-08-08 11:10
谢谢,我试一下!

我想区分网卡主要是因为对每个网卡采用不同的过滤策略
海人
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-08-08 11:17
这我当然知道了

我用DbgPrint(\"%ws\\n\",DeviceName)输出的

也试过DbgPrint(\"%ws\\n\",DeviceName.Buffer)


看来我说的还是不够详细,呵呵
DeviceName是个指针,你得看DeviceName->Buffer。
写驱动不如买足彩!!
mailporn
驱动牛犊
驱动牛犊
  • 注册日期2002-03-12
  • 最后登录2008-10-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望20点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-08-08 11:59
谢谢

我竟然会犯这种低级错误
海人
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-08-08 12:35
姐姐,你说的谢谢太多了。呵呵
写驱动不如买足彩!!
游客

返回顶部