阅读:1284回复:8
关于驱动向指定程序传数据的问题,急!
本人参照ddk下packet的做法,实现了一个抓包程序,并形成了
自己格式的包,我根据包中标志位的不同,向上层不同的应用程序 发送。现在的问题是,我如何才能把特定的包,发送到特定的应用 程序呢? 两个应用都是用readfile来接收包吗? 对这个问题实在是迷惑,望各位能帮我解惑,谢谢! |
|
沙发#
发布于:2003-05-12 10:15
本人参照ddk下packet的做法,实现了一个抓包程序,并形成了 让driver根据不同的app的readfile,返回不同类型的数据报文?是这个意思吗?我觉得如果是这样的话,不如在app里边实现比较简单。也就是说driver不管app的不同都向上返回同样的报文,在app里边进行判断和过滤。 |
|
板凳#
发布于:2003-05-12 12:02
[/quote] 让driver根据不同的app的readfile,返回不同类型的数据报文?是这个意思吗?我觉得如果是这样的话,不如在app里边实现比较简单。也就是说driver不管app的不同都向上返回同样的报文,在app里边进行判断和过滤。 [/quote] 那这样的话,驱动会把所有的报文都同时向多个app传递吗?也就是说,多个app允许同时对一个驱动进行readfile吗? |
|
地板#
发布于:2003-05-13 09:08
特定的包?
底层不用管应用层的事情,os能调度相应的app(socket)去收包。 |
|
地下室#
发布于:2003-05-13 13:51
现在比较多的做法是在应用层生成一个event然后用DeviceIoControl把 Event 对象传递给驱动程序,再通过DeviceIoControl传一个共享内存地址,然后WaitForSingleObject,驱动要与应用层程序通信时只要KeSetEvent就可以了,
我还见过一种比较另类的办法是开两个线程,一个发送读请求,一个检查请求队列长度,并检查请求完成情况,不过两个线程推出的顺序要处理好。 |
|
|
5楼#
发布于:2003-05-13 15:35
我基本明白了,谢谢楼上各位了
|
|
6楼#
发布于:2003-05-13 17:39
没分啊 我还想拿我的第一次回答分啊
5555555555~~~~~~~ |
|
|
7楼#
发布于:2003-05-13 18:11
呵呵 ,怎么给分呀?
|
|
8楼#
发布于:2003-05-13 18:13
已经给了:)
|
|