引用 15 楼 jiereliyi 的回复:
引用 14 楼 skynet000 的回复:
1.WaitForSingleObject(gEvent, 500) == WAIT_TIMEOUT
定义一个空的Event,用waitforsingleobject,500ms溢出来做,最简单。不用去用定时器。
2.至于从应用程序读取driver中测量好的数据,
你担心这个读操作的时间的话,可以考虑在driver中用一个static 的变量来保存每次500ms读到的值。然后流驱动接口使用read函数,读取这个static变量中的值就好了。不会有时间上太长时间的等待。当然要涉及到driver和应用程序同时访问这个static变量,所以可能需要加一个消息量来处理。
加消息这么加,驱动可以给应用程序发送消息吗?
不行,我说的是消息量“互斥、关键区”之类,不是说消息。
当然你可以在driver里面发一个广播消息。应用程序也可以收到。
如:PostMessage(HWND_BROADCAST,WM_KEYDOWN,'B',0);