我想写一个函数,将passthru中截获的包描述符Packet所描述的包的所有buffer放入到一个连续的buffer中,我这样做:1,先申请一个2000的连续空间2,从Packet头解链下第一个buffer写入连续空间,释放解下的buffer。3,循环,如果packet!=NU...
全文
回复(7) 2003-12-17 10:40 来自版块 - NDIS网络接口开发
表情
wxl_50685330另外循环中的注释掉那句 //NdisFreeMemory((PVOID)pBuf,Buflength,0); 是需要的 再加上循环控制那儿改了就对了(2003-12-17 16:20)
wxl_50685330哇,不好意思,又细看了一下,free buffer的代码没问题,对不起革命战友,我认罪:)(2003-12-17 16:15)
wxl_50685330好像对packet的结构不是很了解啊,先把这个结构看看吧,如果对你操作的数据都无法理解就不能正确操作他们 packet != null?,packet怎么可能是null?只可能pakcet.private.head/tail是否为空, 循环的最后free掉pbuffe...(2003-12-17 16:10)
lonelyeaglebufferpool释放掉,那buffer呢?是不是不用? 这样顺序不对啊。 不是释放bufferpool,是释放从bufferpool中分配的buffer,当然这要在包发送之后才能释放。如果在send中发送包,就要在SendComplete中释放包。(2003-12-17 12:50)
ljjlovernetbufferpool释放掉,那buffer呢?是不是不用? 这样顺序不对啊。(2003-12-17 11:33)
lonelyeagle重组包后,发送完毕,从buffer pool中分配的内存要释放吧(2003-12-17 11:30)
ljjlovernetNDIS_STATUS NdisPacketMoveToBuf( IN PNDIS_PACKET Packet, IN UINT size, OUT PUCHAR pPacketcontent //OUT UINT &...(2003-12-17 10:42)

返回顶部