Flstar
驱动牛犊
驱动牛犊
  • 注册日期2002-11-03
  • 最后登录2005-01-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1405回复:3

Passthru的PtTransferDataComplete疑问

楼主#
更多 发布于:2003-10-12 17:15
PADAPT  pAdapt =(PADAPT)ProtocolBindingContext;

if(pAdapt->MiniportHandle)
{
NdisMTransferDataComplete(pAdapt->MiniportHandle,
 Packet,
 Status,
 BytesTransferred);
}

xp下passthru例子的PtTransferDataComplete代码就这么多,
请问,假如我在PtReceive里面自己组包,封装一个Packet,
调用了NdisTransferData后,是不是需要修改PtTransferDataComplete的代码,在PtTransferDataComplete里面
向上Indicate我的包?
修改成如下这样可以么?
if(pAdapt->MiniportHandle)
{
NdisMTransferDataComplete(...);
NdisMIndicate...(....);
}

Flstar
驱动牛犊
驱动牛犊
  • 注册日期2002-11-03
  • 最后登录2005-01-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-12 19:27
是这样的,
PtReceive还没有得到完整的数据包,所以调用NdisTransferData,
但是调用后如果返回NDIS_STATUS_PENDING,那么只有等ndis调用了
我们提供的PtTransferComplete才能得到剩下的数据,那么就只能在
PtTransferComplete里面制作PACKET,并且上传了

不知上述理解是否正确?

但是Passthru例子里面的PtTransferComplete只是简单的调用了NdisMTransferDataCompl
ete,没有向上Indicate包,所以我产生疑问,
是不是需要在这里加上Indicate的代码?
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-10-12 21:10
自己的包怎么会没有完整的数据呢?
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-13 21:32


[编辑 -  12/2/03 by  antspower]
放弃瘟草,现吃李草
游客

返回顶部