lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1462回复:4

硬件驱动程序完成一个IRP后,如何产生一个APP可以响应的事件?

楼主#
更多 发布于:2001-12-26 01:46

    大家好,我是个刚刚学习WMD驱动程序开发的新手,同时也是刚开始学习VC6。现有问题向业内前辈请教!
    从范例程序中,我看到APP与DRIVER通信,使用WRITERFILE()和READFILE(),即可通过IO管理器产生一个IRP,DRIVER在处理完这个IRP后,IoCompleteRequest例程会自动修改参数overlapped里面的成员变量hevent,APP可通过检查对应的hevent的值来判断某个IRP是否被执行。范例程序使用的检查方法是用循环进行检查,也许这是为了简化程序,以便新手理解,但这对于面象对象的APP编程来说,显然用循环是不合适的。那么如何令DRIVER处理完一个IRP后,能够产生一个用户事件来触发APP进行响应呢?在用VC写的APP中,如何定义这个事件呢?
    如能解惑,不甚感激!
    谢谢大家,谢谢驱动开发网!
lvhaow
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-12-28 10:09
WriteFile/ReadFile的时候,app用overlapped传下去一个event的handle,然后waitforsingleobject。driver做完了,就setevent。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2001-12-28 14:11
谢谢您回复。
但我的问题是如何在APP中定义用户事件。如果用wait......来等待HEVENT被置位,我感觉好象要用循环来检测它,我看到的范例程序就是用循环来做的。我不想用循环,想将IRP完成信息排入WINDOWS消息队列,自动触发APP执行消息处理。
谢谢!
lvhaow
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-12-29 13:59
在event没有被set之前,waitforsingleobject是不会返回的,根本不是什么“循环“。
你对vc太不熟悉,需要多实践。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
wwqq012
驱动牛犊
驱动牛犊
  • 注册日期2002-02-17
  • 最后登录2005-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-17 16:09
建立事件和等待等代码可以到driverstudio 和msdn 中找
游客

返回顶部