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

ExitWindows 2011-07-31 03:49:28
折腾几天不成功求教:
微软官方示例程序 Ndisprot 中的NdisProtReceiveComplete、NdisProtOpen 等函数,如果是在多网卡的系统中运行,函数如何区分不同的设备?
这些函数执行时,检视pIrp->pDeviceObject、pFileObject->pDeviceObject等,都是相同的值,即指向的是同一个DEVICE_OBJECT,且这个DEVICE_OBJEC的 ->NextDevice、->AttchedDevice都是NULL,没法区分究竟是在哪张网卡上运行。
请指教。
...全文
137 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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中只能得到这个设备对象。对于多网卡的情况,是用绑定上下文来区分不同的网卡,每个网卡的信息如绑定句柄时保存在绑定上下文中的。这样解释可以吗?

21,616

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧