logincao
驱动牛犊
驱动牛犊
  • 注册日期2002-03-15
  • 最后登录2006-01-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1210回复:2

KNdisFilterAdapter::OnReceive中发包出错.

楼主#
更多 发布于:2003-06-16 09:58
NDIS_STATUS IAdapter::OnReceive
(const KNdisPacket& Original, KNdisPacket& Repackaged)
{
Repackaged.CloneUp(Original);
//修改数据包的信息.....
//直接发送出去
ForwardDown(Repackaged);//这里好像有问题
//1,我如何将这个数据发送出去?
//2,如何在一个定时器里面定期发送一个数据包?
return NDIS_STATUS_NOT_ACCEPTED;
}
不在沉默中爆发,就在沉默中死亡
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-16 14:50
调用NDISSEND就可以发送出去。
实际上NDISSEND是个宏,它还是要通过调用底层网卡miniport的miniportsend函数发出去的。
所以在如果NDISSEND是SUCCESS那么直接释放你的包。否则的话
在ptsendcomplete中释放。
如何释放:主要是要判断那个包是不是你申请的。如果是你申请的
那么请自己释放,并且不要调用NDISMXXXCOMPLETE函数


[编辑 -  6/29/03 by  antspower]
放弃瘟草,现吃李草
logincao
驱动牛犊
驱动牛犊
  • 注册日期2002-03-15
  • 最后登录2006-01-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-16 15:00
做些什么改动呢,这方面的资料太少.
不在沉默中爆发,就在沉默中死亡
游客

返回顶部