阅读:1184回复:0
在passthru中,我有两块网卡,如何生成对应网卡的协议驱动的设备名,可供应用层区分使用
本人搜索了以前的贴子,没有找到答案,请各位赐教,谢谢 :)
在MiniportInitialize中通过NdisMRegisterDevice生成了两个设备名,并且这两个设备名是在ProtocolBindAdapter中通过NdisReadConfiguration函数读出注册表中UpperBindings的值来区分的。 结果发现貌似指向不同网卡的设备,通过读出来的网络数据包发现其实还是在同一块网卡上,而另一块都没有设备指向它,当然也就读不出它的数据包了。经测试发现原因是在调用NdisMRegisterDevice时,它的第一个输入参数WrapperHandle用的是同一个值,该值我是存在各自的ADAPT结构体中。 我目前的疑问就在WrapperHandle上,对于多块网卡,在DriverEntry中调用NdisMInitializeWrapper得回的WrapperHandle值是不同的吗?还是本身系统就只调用一次,如果这样我应用层程序如何只与绑定在某块网卡上的驱动进行I/O 恳请指教 |
|