driverLh
驱动牛犊
驱动牛犊
  • 注册日期2003-07-14
  • 最后登录2004-07-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2565回复:5

应用程序如何与NDIS的驱动通信?

楼主#
更多 发布于:2003-09-23 11:26
编写了一个NDIS的中间层的驱动,用来把ICMP的包过滤掉,要写一个程序把抛的包显示一下.
如何才能在驱动中与应用程序通信?
Flstar
驱动牛犊
驱动牛犊
  • 注册日期2002-11-03
  • 最后登录2005-01-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-09-24 10:11
可以在应用程序里面设置一个Event,用一个线程等待事件发生,
然后用DriverIoControl把这个Event传给驱动,驱动再用ObReferenceObjectByHandle将这个Event转成内核的Event,在
驱动里面用KeSetEvent就可以发信号通知应用程序有包丢弃了

可以参见Walter Oney 的《windows driver model》第9章第3节

[编辑 -  9/24/03 by  Flstar]
driverLh
驱动牛犊
驱动牛犊
  • 注册日期2003-07-14
  • 最后登录2004-07-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-09-24 11:03
太感谢了,我是刚开始学驱动,其实很想知道一两本好书名字.目前就一本关于如何拦络包的,知道的太少了
ivan58
驱动牛犊
驱动牛犊
  • 注册日期2003-05-04
  • 最后登录2007-09-28
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-09-25 10:12
是不是说:
如果NDIS驱动和外界的应用成训通讯,都可以采用你说得这种方式?
peakame
驱动牛犊
驱动牛犊
  • 注册日期2002-06-28
  • 最后登录2013-08-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-09-25 16:21
好像还有其它方法,也可参见《Windows设备驱动程序(VxD与WDM)开发实务》中的第四章。
vipfengxiao
驱动牛犊
驱动牛犊
  • 注册日期2009-12-29
  • 最后登录2011-12-21
  • 粉丝1
  • 关注0
  • 积分79分
  • 威望681点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2010-03-11 14:49

可以在应用程序里面设置一个Event,用一个线程等待事件发生,
然后用DriverIoControl把这个Event传给驱动,驱动再用ObReferenceObjectByHandle将这个Event转成内核的Event,在
驱动里面用KeSetEvent就可以发信号通知应用程序有包丢弃了

可以参见Walter Oney 的《windows driver model》第9章第3节



非常感谢 正在找这方面资料
游客

返回顶部