inbob
驱动牛犊
驱动牛犊
  • 注册日期2003-12-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1447回复:9

急!!请教一个关于passthru的问题

楼主#
更多 发布于:2004-06-22 10:12
在passthru中,MPSend/MPSendPacket例程根据上层传下来的数据分配MyPacket,调用NdisSend发送到下层。如果返回pending,就在PtSendComplete中释放MyPacket。PtSendComplete的传入参数Packet是不是就是Mypacket呢?如果MyPacket完全是自己构造的,应该如何释放?

小弟拜谢先!

[编辑 -  6/22/04 by  inbob]

[编辑 -  6/22/04 by  inbob]
bingjie
驱动小牛
驱动小牛
  • 注册日期2001-08-15
  • 最后登录2007-11-29
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望5点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-06-23 10:52
按照构造顺序的相反顺序释放就可以了,每个构造Packet的函数都有与之对应的释放函数
asmsys
驱动老牛
驱动老牛
  • 注册日期2002-03-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望17点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-06-23 11:02
PtSendComplete的传入参数Packet就是Mypacket.
asmsys
驱动老牛
驱动老牛
  • 注册日期2002-03-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望17点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-06-23 15:50
好像原passthru中PtSendPacket例程只需要释放包描述符,但是我自己构造的MyPacket包括缓冲区描述符和内存,这些东东需要自己在PtSendPacket例程中释放,是吗?

要遵循谁申请谁释放的原则,原来PtSendPacket没有释放,是因为哪个包不是它申请的。

inbob
驱动牛犊
驱动牛犊
  • 注册日期2003-12-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-06-23 16:37
asmsys大虾,不好意思,我一直在线编辑帖子,发现有些想法不成熟,所以把第二贴删了,刚删完才发现大虾的回帖,不胜感激!小弟正在试验中,等有了问题还望大虾不吝赐教!
inbob
驱动牛犊
驱动牛犊
  • 注册日期2003-12-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-06-24 11:05
这个问题解决了,多谢两位大虾的指点。

小弟还有一个问题,中间层驱动对上层伪装成一个网卡,并和下层实际网卡绑定,在多网卡的机器上,可否存在多个IMD,让每个IMD只与一个实际的网卡绑定(每个IMD与所有的上层的协议都绑定),之所以有这个想法的原因,是想针对不同的网卡发出的数据包作某些预处理,借助路由的判断,让数据报从中间层开始分流。

如果这个想法成立,是不是在IMDs的安装上要注意些什么?

非常感谢!
asmsys
驱动老牛
驱动老牛
  • 注册日期2002-03-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望17点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-06-24 12:22
用一个IMD帮定多个网卡,用IF语句实现多个IMD的功能,操作起来更容易一些。
让IMD有选择的帮定某个网卡,要花点工夫,可以参考LBFO。
inbob
驱动牛犊
驱动牛犊
  • 注册日期2003-12-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-06-24 12:36
asmsys老大,不好意思,请问LBFO是什么?
小弟才入门,见笑了。

asmsys
驱动老牛
驱动老牛
  • 注册日期2002-03-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望17点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-06-24 13:21
PASSTHRU里搜索__LBFO(注意是两个下画线),ddk里也有说明,默认情况下PASSTHRU的该功能是关闭的。这里的帮定关系有点复杂,几句话说不清楚,靠你理解了。
inbob
驱动牛犊
驱动牛犊
  • 注册日期2003-12-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-06-24 15:31
多谢asmsys大虾,小弟受教了!
游客

返回顶部