阅读:1920回复:1
Huyg版主和各位大虾,我这样释放Packet和MDL对吗?
首先,我在PtReceive中申请了Packet和几个MDL,在
调用NdisMIndicateReceivePacket后(调用点可能在PtReceive或 PtTransferDataComplete中,因为可能调用NdisTransferData),不管是用户还是NDIS总会有一个去调用 MPReturnPacket的,在MPReturnPacket中,利用第二个参数(Packet) 去释放所有Chain到这个Packet的MDL。在得到下层Miniport创建的 MpPacket之后,释放这个Packet。然后调用NdisReturnPacket将MpPacket 继续向下传。 |
|
最新喜欢:![]() |
沙发#
发布于:2001-08-26 16:18
这个问题需要具体分析。从你的贴子里面我看出你都是调用
NdisMIndicateReceivePacket通知上层协议的,这种情况 比较简单,你只要简单的释放buf,packet,内存就行了。 如果你从来不用介质相关函数通知上层,那么你要做的 几乎就是在mpreturnpacket中简单修改,加上释放你自己分配 的内存的代码就行了。 |
|
|