hello2002
驱动牛犊
驱动牛犊
  • 注册日期2002-06-02
  • 最后登录2004-08-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2681回复:5

请教高手:在WINDOWS XP 中获取数据包并进行过滤应该在那个函数中控制?

楼主#
更多 发布于:2002-06-25 18:30
请教高手:
    在WINDOWS XP 中获取数据包并进行过滤应该在那个函数中控制?
1.PtReceive() 在此函数中我没截获任何信息。
2.PtReceiveComplete()
3.PtReceivePacket()这个函数只执行了定义中的 NDIS51 后返回了。

Thanks In Advance!

[编辑 -  6/26/02 by  hello2002]
asdfasdf asdfa fasdf
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-25 18:51
请教高手:
    在WINDOWS XP 中获取数据包并进行过滤应该在那个函数中控制?
1.PtReceive() 在此函数中我没截获任何信息。
2.PtReceiveComplete()
3.PtReceivePacket()这个函数只执行了定义中的 NDIS51 后返回了。
#ifdef NDIS51
//
// Check if we can reuse the same packet for indicating up.
// See also: PtReceive().
//
DbgPrint(\"<==7777777777777777777777\\n\");

(VOID)NdisIMGetCurrentPacketStack(Packet, &Remaining);
if (Remaining)
{
DbgPrint(\"<==88888888888888888888888888888\\n\");

//
// We can reuse \"Packet\". Indicate it up and be done with it.
//
Status = NDIS_GET_PACKET_STATUS(Packet);
NdisMIndicateReceivePacket(pAdapt->MiniportHandle, &Packet, 1);
return((Status != NDIS_STATUS_RESOURCES) ? 1 : 0);
}
#endif // NDIS51

请问我应该怎样正确处理?

Thanks In Advance!


1.PtReceive()
3.PtReceivePacket()

中自己加代码。。。。。。。。。

 :)
[color=red]大头鬼! :P[/color]
gjpland
驱动小牛
驱动小牛
  • 注册日期2001-09-13
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-25 20:58
请教高手:
    在WINDOWS XP 中获取数据包并进行过滤应该在那个函数中控制?
1.PtReceive() 在此函数中我没截获任何信息。
2.PtReceiveComplete()
3.PtReceivePacket()这个函数只执行了定义中的 NDIS51 后返回了。
#ifdef NDIS51
//
// Check if we can reuse the same packet for indicating up.
// See also: PtReceive().
//
DbgPrint(\"<==7777777777777777777777\\n\");

(VOID)NdisIMGetCurrentPacketStack(Packet, &Remaining);
if (Remaining)
{
DbgPrint(\"<==88888888888888888888888888888\\n\");

//
// We can reuse \"Packet\". Indicate it up and be done with it.
//
Status = NDIS_GET_PACKET_STATUS(Packet);
NdisMIndicateReceivePacket(pAdapt->MiniportHandle, &Packet, 1);
return((Status != NDIS_STATUS_RESOURCES) ? 1 : 0);
}
#endif // NDIS51

请问我应该怎样正确处理?

Thanks In Advance!



都可以,就要看你过滤时的需要了。
我思故我在,脑袋不会坏.
hello2002
驱动牛犊
驱动牛犊
  • 注册日期2002-06-02
  • 最后登录2004-08-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-26 08:41
我打了打印信息PtReceive() 函数根本没执行到。

PtReceivePacket()这个函数只执行了定义中的 NDIS51 后返回了。
#ifdef NDIS51
(VOID)NdisIMGetCurrentPacketStack(Packet, &Remaining);
if (Remaining)
{
Status = NDIS_GET_PACKET_STATUS(Packet);
NdisMIndicateReceivePacket(pAdapt->MiniportHandle, &Packet, 1);
return((Status != NDIS_STATUS_RESOURCES) ? 1 : 0);
}
#endif // NDIS51

在PtReceivePacket()怎样接受并更改PACKET ,敬请高手指点一二。
asdfasdf asdfa fasdf
lly-pp
驱动牛犊
驱动牛犊
  • 注册日期2008-09-10
  • 最后登录2009-07-30
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-03-16 10:33
passthru过滤延时发包蓝屏
我想在passthru中实现流量控制,也就是利用定时器,在每个时钟内统计端口的流量,当达到限定值时将包(NDIS_PACKET    Packet)保存在一个链表中,返回pending,然后在下一个时钟到来时首先处理链表中的包,但是当我处理这些包时发现蓝屏,跟踪到蓝屏是在Complete函数中调用NdisMSendComplete()时出现的,找不到原因,哪位大侠能帮帮我,不胜感激
chengfangquan
驱动牛犊
驱动牛犊
  • 注册日期2007-08-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分33分
  • 威望361点
  • 贡献值1点
  • 好评度42点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-04-02 16:05
你试一下返回失败
游客

返回顶部