阅读:1635回复:5
一个简单问题!先到先拿分!
一个ndis_packet有一个ndis_buffer,Packet->Private.Tail的值是什么?
一个ndis_packet有2个ndis_buffer呢? 谢谢 |
|
沙发#
发布于:2004-02-19 17:06
自己顶一下。
|
|
板凳#
发布于:2004-02-19 22:29
呵呵. 我帮你顶
typedef struct _NDIS_PACKET_PRIVATE { UINT PhysicalCount; UINT TotalLength; PNDIS_BUFFER Head; PNDIS_BUFFER Tail; PNDIS_PACKET_POOL Pool; UINT Count; ULONG Flags; BOOLEAN ValidCounts; UCHAR NdisPacketFlags; USHORT NdisPacketOobOffset; } NDIS_PACKET_PRIVATE, * PNDIS_PACKET_PRIVATE; head 指的是 第一个 BUFF ,tail 指的是 最后一个 BUFF 拉. |
|
地板#
发布于:2004-02-20 19:58
哈哈
bangh,看看你的ptreceive中 当PacketSize <= LookAheadBufferSize时的代码 有两句 MyPacket->Private.Head->Next=NULL; MyPacket->Private.Tail=NULL; 如果按你所说。 那么MyPacket->Private.Tail=MyPacket->Private.Head->Next。 你认为呢? |
|
地下室#
发布于:2004-02-22 16:02
呵呵. 是这样的. 你说的没有错. 两者是相等的.
MyPacket->Private.Head->Next=NULL; MyPacket->Private.Tail=NULL; 主要是 从下层收到的包一般来说是一个 BUFFER 的. 但 WINDOW 下来的包,就不一定是一个 BUFFER 了. |
|
5楼#
发布于:2004-02-23 09:44
不好意思,加我范了个小错误
ptreceive应该是从下层收到包 当PacketSize <= LookAheadBufferSize时,也就是说 只有一个buffer 那么,这个buffer既是第一个,也是最后一个 所以如果按你所说 MyPacket->Private.Tail=MyPacket->Private.Head(上个帖子我敲错了) 你认为哪? |
|