ldd
ldd
驱动牛犊
驱动牛犊
  • 注册日期2001-08-18
  • 最后登录2003-11-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1919回复:1

Huyg版主和各位大虾,我这样释放Packet和MDL对吗?

楼主#
更多 发布于:2001-08-25 15:47
首先,我在PtReceive中申请了Packet和几个MDL,在
调用NdisMIndicateReceivePacket后(调用点可能在PtReceive或
PtTransferDataComplete中,因为可能调用NdisTransferData),不管是用户还是NDIS总会有一个去调用
MPReturnPacket的,在MPReturnPacket中,利用第二个参数(Packet)
去释放所有Chain到这个Packet的MDL。在得到下层Miniport创建的
MpPacket之后,释放这个Packet。然后调用NdisReturnPacket将MpPacket
继续向下传。

最新喜欢:

jzyhummeljzyhum...
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2001-08-26 16:18
这个问题需要具体分析。从你的贴子里面我看出你都是调用
NdisMIndicateReceivePacket通知上层协议的,这种情况
比较简单,你只要简单的释放buf,packet,内存就行了。
如果你从来不用介质相关函数通知上层,那么你要做的
几乎就是在mpreturnpacket中简单修改,加上释放你自己分配
的内存的代码就行了。




不再回忆从前,我已经生活在幸福当中。
游客

返回顶部