阅读:1659回复:2
在WIN XP 的PtReceivePacket()中分配的MyPacket对应的内存,该在那里释放?
在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()中释放内存。 |
|
|
沙发#
发布于:2002-07-09 18:30
在WIN XP 的PtReceivePacket()中分配的MyPacket对应的内存,该在那里释放? 它也有一个相应的 Complete()列程。。。。 :) |
|
|
板凳#
发布于:2002-07-09 19:47
如果它和2000的passthru一样的话,应该是在miniport.c里的ReturnPacket里面释放,里面应该有返回一个packet descriptor,
你应该在receivepacket里把原始包的地址存放到新包的保留位当中,这样就可以在returnpacket传入的包中再取出,就可以释放了! |
|