marvie
驱动牛犊
驱动牛犊
  • 注册日期2004-03-09
  • 最后登录2005-07-26
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1214回复:4

有关于Packet中的Private的两个参数Head和Tail

楼主#
更多 发布于:2004-03-30 22:51
我在passthru中看到有下面这两行代码
MyPacket->Private.Head = Packet->Private.Head;
MyPacket->Private.Tail = Packet->Private.Tail;
这个head和tail的作用到底是什么呀,如果按照private结构体的定义,head是chain的第一个buffer,而tail是chain的最后一个buffer,那岂不是head和tail里面装的就是数据吗?
可是我记得数据是存在headerbuffer和lookaheadbuffer里面的啊,这个怎么理解?
各位大侠帮帮忙了,帮忙指导一下,谢谢了:)






另外,初次发贴,那个分是怎么送出去的啊,我设了给分20,可是不知道怎么送出去,嘿嘿,不好意思,哪位顺便也告诉一声:)
marvie
驱动牛犊
驱动牛犊
  • 注册日期2004-03-09
  • 最后登录2005-07-26
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-31 10:36
我算明白了一点,
MyPacket->Private.Head = Packet->Private.Head;
MyPacket->Private.Tail = Packet->Private.Tail;
里面存的是数据报文,如:系统发出的ping包,icmp包等等

而headerbuffer和lookaheadbuffer里面存的是数据包的包头和真正数据,好像是这样的
ljjlovernet
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2004-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-03-31 11:14
你错了,
Packet是网络包的描述符,在windows中一个包可能是有很多段缓冲buffer组成的,每一个buffer也是由一个buffer的描述符来描述的,这些描述符构成一个链表。Private.Head和Private.Tail分别指的就是这个链表的头和尾。你可以根据这些描述符来获得包的完整内容。
我是来学习的。不打扫卫生
marvie
驱动牛犊
驱动牛犊
  • 注册日期2004-03-09
  • 最后登录2005-07-26
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-31 12:59
哦,谢谢:)
marvie
驱动牛犊
驱动牛犊
  • 注册日期2004-03-09
  • 最后登录2005-07-26
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-01 11:07
我想请问一下,中间层驱动有负责传输数据吗?我看passthru里面,不管是收还是发都是只是涉及到包头和一些参数的拷贝,并没有具体数据的拷贝,我想是不是中间层驱动只是发出一些指令,让小端口驱动去完成数据的传输啊,可是那数据又是怎么传到应用层的呢?不是很明白,请指导一下,谢谢啦:)
游客

返回顶部