baoyibao99
禁止发言
禁止发言
  • 注册日期2003-05-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分894分
  • 威望8415点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:1978回复:13

如何在Passthru中让接收的数据包等待某事件发生后再转发

楼主#
更多 发布于:2003-07-14 22:07
用户被禁言,该主题自动屏蔽!
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-15 07:53
我觉得可以在做一个标记,当转发时先看哪个标记,如果是能够转发则转.标记的改变有APP来实现
放弃瘟草,现吃李草
baoyibao99
禁止发言
禁止发言
  • 注册日期2003-05-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分894分
  • 威望8415点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-15 12:58
用户被禁言,该主题自动屏蔽!
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
地板#
发布于:2003-07-15 23:32
http://www.wd-3.com/
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-17 18:55
那么如何让接收的包等待呢?我在我的程序中是通过APP设置事件让数据包等待(只是一个试验,放到一个自定义的队列中),再把这个事件设置成可以转发标志,passthru在收到这个IRP后,从队列中取出这个数据包转发,在win 2000中可以,但在win 2003 和 XP中就会出现蓝屏,这是为什么呢?依我看,处理流程和驱动应该是没有区别的,请高手继续指教!!!

我现在想在内核实现数据包的等待,然后由另一驱动设置标志再转发,这又应该怎么实现的呢?

[编辑 -  7/15/03 by  baoyibao99]


我根本就没有在XP下和2003下测试的条件, :(
思路肯定没有错(我就是这么干的),你将包放到队列后,不要INDICATEPACKET或NDISXXXINDICATERECEIVE了,直接返回NDIS-STATUS-SUCCESS
表示你消费了那个包,其实是放在队列里了.
当你要的事件被出发是,将队列中所有包发出去.
放弃瘟草,现吃李草
baoyibao99
禁止发言
禁止发言
  • 注册日期2003-05-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分894分
  • 威望8415点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-21 22:39
用户被禁言,该主题自动屏蔽!
baoyibao99
禁止发言
禁止发言
  • 注册日期2003-05-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分894分
  • 威望8415点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-21 22:42
用户被禁言,该主题自动屏蔽!
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-22 08:32
我的处理实际上和你的差不多.

把包放在一个队列里,将包的状态设为WAITING,
当收到某个事件或来自网络的某种数据时,把状态改为READY,
发送之前,先判状态是READY就发送.(当然还有其他状态,状态经常要转换)

但这个方式,不是很好,要是你很久APP都不来数据,内存不耗完才怪
还要加上时间/计数器 因素,在时间超过限制,或达到一定计数时,该
怎么处理等等,细节要想好
偶没有2003和XP的DDK好可怜.
现在偶在公司混啊,涉及到商业问题,代码不能.....
 :D
放弃瘟草,现吃李草
baoyibao99
禁止发言
禁止发言
  • 注册日期2003-05-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分894分
  • 威望8415点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-22 17:06
用户被禁言,该主题自动屏蔽!
baoyibao99
禁止发言
禁止发言
  • 注册日期2003-05-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分894分
  • 威望8415点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-07-22 17:21
用户被禁言,该主题自动屏蔽!
nicol
驱动大牛
驱动大牛
  • 注册日期2001-11-28
  • 最后登录2009-07-30
  • 粉丝0
  • 关注0
  • 积分45分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-07-22 17:59
你怎么处理等待?

把指示的数据报复制出来,还是直接让指示的数据报直接等待,锁住相关资源?
==寂寞骆驼==
baoyibao99
禁止发言
禁止发言
  • 注册日期2003-05-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分894分
  • 威望8415点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-07-24 08:28
用户被禁言,该主题自动屏蔽!
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-07-24 08:44
现在在2000下都不是很稳定,郁闷着呢。
移植过几天在考虑
放弃瘟草,现吃李草
baoyibao99
禁止发言
禁止发言
  • 注册日期2003-05-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分894分
  • 威望8415点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-07-24 19:22
用户被禁言,该主题自动屏蔽!
游客

返回顶部