阅读:1791回复:11
passthru中如何得到网卡名
我有多个网卡,如何知道MPSend函数是发送哪个网卡的数据
|
|
最新喜欢:linwn
|
沙发#
发布于:2002-08-07 18:02
binding函数的入口参数DeviceName就是网卡名,你可以把它记在Adapter结构里,MPSend的时候检查就行了。
|
|
|
板凳#
发布于:2002-08-08 08:54
没有binding函数
只有在协议(protocol.c)中有PtBindAdapter函数,我用DbgPrint看DeviceName值,结果其值为\"\\^?\" 其实我想在miniport中的PtSend函数中知道是哪个网卡 |
|
|
地板#
发布于:2002-08-08 09:46
只有在协议(protocol.c)中有PtBindAdapter函数,我用DbgPrint看DeviceName值,结果其值为\"\\^?\" 其实,这就是系统所认同的DeviceName,即使你使用两块完全相同的网卡,其值也是不一样的,这样系统才能区分嘛! 你的意思可能是要的到注册表中的Description吧?这一项只是为了显示方便而已,系统不可能用这一向对设备进行区分。 |
|
地下室#
发布于:2002-08-08 09:59
再请教一个问题,那我如何才能与注册表中的关联起来呢,否则还是不知道那个对应那个呀
谢谢你的帮助! |
|
|
5楼#
发布于:2002-08-08 10:54
没有binding函数 老大!DeviceName是个UNICODE_STRING结构,在Passthru里叫做NDIS_STRING,不是一个字符串。不用我说的这么详细吧? |
|
|
6楼#
发布于:2002-08-08 11:02
这我当然知道了
我用DbgPrint(\"%ws\\n\",DeviceName)输出的 也试过DbgPrint(\"%ws\\n\",DeviceName.Buffer) |
|
|
7楼#
发布于:2002-08-08 11:07
再请教一个问题,那我如何才能与注册表中的关联起来呢,否则还是不知道那个对应那个呀 你有必要和注册表关联吗?不明白你说的管联是什么意思,是你人知道就可以了呢,还是你的Driver要知道,我想没这个必要吧。 我是没有想过这么多,不过估计你用OID_GEN_VENDOR_DESCRIPTION去查询一下应该是可以的。得到的值我估计应该是注册表里的ComponentId。 |
|
|
8楼#
发布于:2002-08-08 11:10
谢谢,我试一下!
我想区分网卡主要是因为对每个网卡采用不同的过滤策略 |
|
|
9楼#
发布于:2002-08-08 11:17
这我当然知道了 看来我说的还是不够详细,呵呵 DeviceName是个指针,你得看DeviceName->Buffer。 |
|
|
10楼#
发布于:2002-08-08 11:59
谢谢
我竟然会犯这种低级错误 |
|
|
11楼#
发布于:2002-08-08 12:35
姐姐,你说的谢谢太多了。呵呵
|
|
|