折腾几天不成功求教:微软例程 Ndisprot 如何分别不同的设备?

ExitWindows 2011-07-31 03:49:28
折腾几天不成功求教:
微软官方示例程序 Ndisprot 中的NdisProtReceiveComplete、NdisProtOpen 等函数,如果是在多网卡的系统中运行,函数如何区分不同的设备?
这些函数执行时,检视pIrp->pDeviceObject、pFileObject->pDeviceObject等,都是相同的值,即指向的是同一个DEVICE_OBJECT,且这个DEVICE_OBJEC的 ->NextDevice、->AttchedDevice都是NULL,没法区分究竟是在哪张网卡上运行。
请指教。
...全文
77 点赞 收藏 7
写回复
7 条回复
ExitWindows 2011年11月07日
很抱歉,由于没等到答案,的确是忘了来了。
问题也算是解决了。
通过调试,发现 pDevExt->stuFileobjs[iIndex].pFileObject 的值可以用来区分网卡。
供各位参考。
回复 点赞
Vincent_Song 2011年10月08日
LZ问题解决了吗?
回复 点赞
hopebring 2011年10月07日
可能楼主已经忘记这个帖子了,不过这个帖子可以对后来者可以提供参考。
回复 点赞
woshi_ziyu 2011年10月07日
时间过去这么久了 也不知道LZ是否已经解决了吗
回复 点赞
cqbamboo 2011年10月07日
友情帮顶!
回复 点赞
codesnail 2011年10月05日
友情帮顶!
回复 点赞
hopebring 2011年10月04日
我帮你顶一下。不知道你解决这个问题没有。我的解释是:示例程序ndisprot中只创建了一个设备,你从IRP中只能得到这个设备对象。对于多网卡的情况,是用绑定上下文来区分不同的网卡,每个网卡的信息如绑定句柄时保存在绑定上下文中的。这样解释可以吗?
回复 点赞
发动态
发帖子
驱动开发/核心开发
创建于2007-09-28

9168

社区成员

2.1w+

社区内容

硬件/嵌入开发 驱动开发/核心开发
社区公告
暂无公告