hello2002
驱动牛犊
驱动牛犊
  • 注册日期2002-06-02
  • 最后登录2004-08-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1659回复:2

在WIN XP 的PtReceivePacket()中分配的MyPacket对应的内存,该在那里释放?

楼主#
更多 发布于:2002-07-09 17:59
在WIN XP 的PtReceivePacket()中分配的MyPacket对应的内存,该在那里释放?

Status= NdisAllocateMemory( &packet_buf, 2000, 0,hataddress);
NdisAllocateBuffer(&Status,&Buffer,PktBufferPool,packet_buf,PacketSize);
NdisChainBufferAtFront( MyPacket, Buffer );

当调用完函数:NdisMIndicateReceivePacket(pAdapt->MiniportHandle, &MyPacket, 1);
后,我应该释放内存,请高手指教应该在那里释放?
我只知道在SEND 里是在PtSendComplete()中释放内存。
asdfasdf asdfa fasdf
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-09 18:30
在WIN XP 的PtReceivePacket()中分配的MyPacket对应的内存,该在那里释放?

Status= NdisAllocateMemory( &packet_buf, 2000, 0,hataddress);
NdisAllocateBuffer(&Status,&Buffer,PktBufferPool,packet_buf,PacketSize);
NdisChainBufferAtFront( MyPacket, Buffer );

当调用完函数:NdisMIndicateReceivePacket(pAdapt->MiniportHandle, &MyPacket, 1);
后,我应该释放内存,请高手指教应该在那里释放?
我只知道在SEND 里是在PtSendComplete()中释放内存。
 


它也有一个相应的  Complete()列程。。。。

 :)
[color=red]大头鬼! :P[/color]
swift
驱动中牛
驱动中牛
  • 注册日期2001-07-26
  • 最后登录2007-05-09
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望7点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-07-09 19:47
如果它和2000的passthru一样的话,应该是在miniport.c里的ReturnPacket里面释放,里面应该有返回一个packet descriptor,
你应该在receivepacket里把原始包的地址存放到新包的保留位当中,这样就可以在returnpacket传入的包中再取出,就可以释放了!
游客

返回顶部