jasic2002
驱动牛犊
驱动牛犊
  • 注册日期2003-10-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望37点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:1279回复:2

还是关于passthru的一点问题(希望会的朋友近来看看阿)

楼主#
更多 发布于:2003-11-03 09:53
我又几个问题比较困惑:]
关于在passthru中处理Packet的几个问题:
在这个函数中,在向上提交Packet时,他直接用NdisMxxxxIndicateReceive函数提交上去。
但是我看DDK中的介绍,提交Packet时候,要自己创建包描述符,内存等等。但是在这个事例函数中怎么直接就提交上去。

2。在这个函数中他怎么没有判断lookaheadbuffersize和packetsize
的大小,按照ddk中就解释,先根据二者的大小,判断数据是否接受完毕,然后决定是否调用NdisTransferData啊。他好像没有这么做,是不是违背DDK中的做法。

3 还是在这个函数中, pAdapt->IndicateRecvComplete=true;这句话得意图何在。
4
还有在判断OOB中,一开始设置Packet的NDIS_STATUS_RESOURCE属性,在Indicate 过后,又判断这个属性,难道上层在接受这个Packet时属性

值会变。
真的希望高手可以不惜赐教。谢谢拉!
bangh
驱动牛犊
驱动牛犊
  • 注册日期2003-03-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望75点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-11-05 08:52
1: 调用 NdisMxxxxIndicateReceive  的时候, 本来就可以 不是 完整的包. 否则应该调用  NdisMxxxxIndicateReceivePacket.
   你没看到 PASSTHRU 中, 在调用后者的时候 都是重新分配包描述附的嘛.

2 它的出来方法跟 你想的 不一样. 它是根据 GetReceivePacket 如果得到的 不空. 那说明就是已经得到 完整的包. 肯定是 LookAheadbuffer = packetsize , 不然的话, 就向上 指示 不完整的包.
3 , 我不知道你看的是那个下面的  PASSTHRU .
4 .肯定会的.

jasic2002
驱动牛犊
驱动牛犊
  • 注册日期2003-10-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望37点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-10 11:13
真的很谢谢了。
不过关于第二个问题,我还是有点不明白:
  就是我为什么不直接判断LookAheadbuffer = packetsize 的关系二而是还要调用GetReceivePacket()函数啊!
谢谢拉!
这个问题问完,一起给分。呵呵
游客

返回顶部