阅读:1285回复:2
KNdisFilterAdapter::OnReceive中发包出错.
NDIS_STATUS IAdapter::OnReceive
(const KNdisPacket& Original, KNdisPacket& Repackaged) { Repackaged.CloneUp(Original); //修改数据包的信息..... //直接发送出去 ForwardDown(Repackaged);//这里好像有问题 //1,我如何将这个数据发送出去? //2,如何在一个定时器里面定期发送一个数据包? return NDIS_STATUS_NOT_ACCEPTED; } |
|
|
沙发#
发布于:2003-06-16 14:50
调用NDISSEND就可以发送出去。
实际上NDISSEND是个宏,它还是要通过调用底层网卡miniport的miniportsend函数发出去的。 所以在如果NDISSEND是SUCCESS那么直接释放你的包。否则的话 在ptsendcomplete中释放。 如何释放:主要是要判断那个包是不是你申请的。如果是你申请的 那么请自己释放,并且不要调用NDISMXXXCOMPLETE函数 [编辑 - 6/29/03 by antspower] |
|
|
板凳#
发布于:2003-06-16 15:00
做些什么改动呢,这方面的资料太少.
|
|
|