aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
阅读:985回复:1

问题10,帮帮忙,谢谢

楼主#
更多 发布于:2005-05-18 11:33
在接收方面:我使用的是TransferData的方式,它的介绍是说调用IndicateReceive函数,他将调用MiniportTransferData传输剩余的数据。在这儿我想问一问,是不是一调用IndicateReceive函数,然后上层发现是他所要的帧,他就马上调用TransferData把所有数据拷贝到上层的数据包里了。还是说要等到其他什么时候甚至要等到IndicateReceiveComplete这个动作才会完结。因为我想等IndicateReceive这条指令执行完就告诉硬件可以将这块板上接收内存重新利用。我担心在指令IndicateReceive后,当我向硬件告知可以重新利用板上内存时,其实TransferData正在执行或者还未执行,那么就会造成数据丢失。我看NE2000的例子中它在执行完IndicateReceive这条指令后有一个SetBoundary的动作。是不是就是告诉硬件我使用完的帧的边界以便硬件可以重新利用。
其实在这个问题上,我想问的就是在IndicateReceive这条指令结束,在执行下一条指令时,它的相应的TransferData函数已经执行完了。
周维彬
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2005-05-18 17:41

其实在这个问题上,我想问的就是在IndicateReceive这条指令结束,在执行下一条指令时,它的相应的TransferData函数已经执行完了。

是的。其实就是IndicateReceive函数内部又调用TransferData函数的。返回的时候,TransferData自然执行完了
游客

返回顶部