arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1189回复:4

关于PtReceive的一个问题

楼主#
更多 发布于:2003-10-22 14:39
当LookAheadBufferSize >= PacketSize,说明HeaderBuffer + LookAHeaderBuffer就是就包含了全部数据(格式:ethernet header,IP header,data...)

不是的话,说明没有包含全部数据。通过NdisTransferData,forwards a request to copy data received on the underlying NIC into a protocol-supplied packet. 这里分配的NDIS_BUFFER然后和headerbuffer、lookahederbuffer凑在一起,就是全部数据了(格式同上)。

如果没有包含全部数据的情况下,又没有transferdata,那么下一个ptreceive的lookaheaderbuffer应该是上个ptreceive的lookaheaderbuffer的延续,而headerbuffer还是一样的。不知道这样说是不是对的,不敢确定,谁能给个肯定的说法?

[编辑 -  10/22/03 by  arthurtu]
taijun
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2005-01-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-22 15:31
我觉得下一个ptreceive的lookaheaderbuffer应该还是上个ptreceive的lookaheaderbuffer,毕竟上个完整的数据没有上传完,感觉而已,呵呵!
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-22 21:31


[编辑 -  12/2/03 by  antspower]
放弃瘟草,现吃李草
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-10-23 14:25
看passthru,我的想法是:
如果没有transferdata,就call NdisMXXXIndicateReceive,告诉上层的protocol,有包(或部分数据)来了(根据DDK的说法)。上面的是transferdata还是继续上传,就管不上了 :D但是总会transferdata的,把剩余的数据取走。

passthru的MPTransferData没有干什么,直接下传,so如果上面的transferdata的话,相当于直接从NIC得到数据。

right? :D
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2003-10-23 14:53
根据老胡的老帖子,我的想法似乎是对的。
游客

返回顶部