阅读:1130回复:4
如何来完成这个东西?急!
我现在做一驱动程序,要求驱动程序不停去监控某个内存地址,如果地址内有标志置位,则驱动程序向应用程序发一条取数的消息,应用程序来进行取数处理,我应该怎么来实现这个功能?或者有例子可以参照,不胜感谢! :D :D
|
|
|
沙发#
发布于:2002-08-01 10:47
做一个循环去读嘛!其它的方法我暂时没有,我不没有做过驱动,不知有没有更好的方法。
|
|
|
板凳#
发布于:2002-08-01 11:14
这样如何:
在驱动中申请一个定时器,利用定时器isr查询(用循环查询太耗cpu了吧我想),在应用程序中初始化一个event,将handle传给驱动程序,并在应用程序中等待event有效,当isr中查询到内存标志被置,则置event有效,此时应用程序向驱动程序发取数指令取数(ioctrl/read),取数完毕后再次置event无效并等待。。。 |
|
地板#
发布于:2002-08-03 14:26
gung:
我现在需要知道一些函数,就是驱动发给应用程序事件的,能不能帮我? 我现在在应用程序中createvent(); 然后怎样将句柄传入驱动? 在驱动中又通过什么函数来给应用程序发事件? 等等, :D |
|
|
地下室#
发布于:2002-08-03 14:32
用deviceiocontrol将句柄传入驱动
再用ObReferenceObjectByHandle将应用层句柄转成内核层的 然后就可以打开,设置等 论坛上有文章专门讲的,自己找找 |
|
|