meiyxq
驱动牛犊
驱动牛犊
  • 注册日期2010-04-22
  • 最后登录2012-08-17
  • 粉丝0
  • 关注0
  • 积分38分
  • 威望251点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2864回复:2

在PtReceive中NdisAllocateBuffer后,在NdisChainBufferAtFront,此ndisbuffer在什么地方释放?

楼主#
更多 发布于:2010-04-22 00:12
在PtReceive中NdisAllocateBuffer后,在进行NdisChainBufferAtFront操作,此ndisbuffer在什么地方释放?

            NdisAllocateBuffer(&Status,&pPacketBuffer,pAdapt->RecvPacketPoolHandle,pPacketContent,PacketLen);            
            if (Status!=NDIS_STATUS_SUCCESS)
            {
                NdisFreeMemory(pPacketContent,BUFFER_SIZE,0);
                NdisDprFreePacket(MyPacket);
                break;  
            }
            NdisChainBufferAtFront(MyPacket,pPacketBuffer);  
            MyPacket->Private.Head->Next=NULL;
            MyPacket->Private.Tail=NULL;

            Rsvd=(PRECV_RSVD)(MyPacket->MiniportReserved);
            Rsvd->OriginalPkt=(PNDIS_PACKET)1;
            NDIS_SET_PACKET_HEADER_SIZE(MyPacket,HeaderBufferSize);
              NdisMIndicateReceivePacket(pAdapt->MiniportHandle,&MyPacket,1);

请问上面操作的pPacketContent 和pPacketBuffer 等等,在什么地方释放?...
高手帮忙解答下!谢谢了!
游客

返回顶部