阅读:1978回复:13
如何在Passthru中让接收的数据包等待某事件发生后再转发用户被禁言,该主题自动屏蔽! |
|
沙发#
发布于:2003-07-15 07:53
我觉得可以在做一个标记,当转发时先看哪个标记,如果是能够转发则转.标记的改变有APP来实现
|
|
|
板凳#
发布于:2003-07-15 12:58
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2003-07-15 23:32
http://www.wd-3.com/
|
|
地下室#
发布于:2003-07-17 18:55
那么如何让接收的包等待呢?我在我的程序中是通过APP设置事件让数据包等待(只是一个试验,放到一个自定义的队列中),再把这个事件设置成可以转发标志,passthru在收到这个IRP后,从队列中取出这个数据包转发,在win 2000中可以,但在win 2003 和 XP中就会出现蓝屏,这是为什么呢?依我看,处理流程和驱动应该是没有区别的,请高手继续指教!!! 我根本就没有在XP下和2003下测试的条件, :( 思路肯定没有错(我就是这么干的),你将包放到队列后,不要INDICATEPACKET或NDISXXXINDICATERECEIVE了,直接返回NDIS-STATUS-SUCCESS 表示你消费了那个包,其实是放在队列里了. 当你要的事件被出发是,将队列中所有包发出去. |
|
|
5楼#
发布于:2003-07-21 22:39
用户被禁言,该主题自动屏蔽! |
|
6楼#
发布于:2003-07-21 22:42
用户被禁言,该主题自动屏蔽! |
|
7楼#
发布于:2003-07-22 08:32
我的处理实际上和你的差不多.
把包放在一个队列里,将包的状态设为WAITING, 当收到某个事件或来自网络的某种数据时,把状态改为READY, 发送之前,先判状态是READY就发送.(当然还有其他状态,状态经常要转换) 但这个方式,不是很好,要是你很久APP都不来数据,内存不耗完才怪 还要加上时间/计数器 因素,在时间超过限制,或达到一定计数时,该 怎么处理等等,细节要想好 偶没有2003和XP的DDK好可怜. 现在偶在公司混啊,涉及到商业问题,代码不能..... :D |
|
|
8楼#
发布于:2003-07-22 17:06
用户被禁言,该主题自动屏蔽! |
|
9楼#
发布于:2003-07-22 17:21
用户被禁言,该主题自动屏蔽! |
|
10楼#
发布于:2003-07-22 17:59
你怎么处理等待?
把指示的数据报复制出来,还是直接让指示的数据报直接等待,锁住相关资源? |
|
|
11楼#
发布于:2003-07-24 08:28
用户被禁言,该主题自动屏蔽! |
|
12楼#
发布于:2003-07-24 08:44
现在在2000下都不是很稳定,郁闷着呢。
移植过几天在考虑 |
|
|
13楼#
发布于:2003-07-24 19:22
用户被禁言,该主题自动屏蔽! |
|