阅读:1698回复:2
请教大虾KEvent的具体用法
本人在用KEvent类时遇到了一点麻烦,请各位高手帮在下一把。
我在继承的KDevice类中定义了一个KEvent 的成员变量;然后在通过DeviceIOControl的一个回调函数中初始化了这个成员变量。接着将它的指针传给一个独立的线程,在线程中通过传进来的指针引用其Wait函数.但是在线程中验证此指针有效性时总是无效的,或根本就等不到Wait事件的触发。后来也试过将此成员变量的句柄传给线程,在线程中通过词句柄重构一个KEvent实例,结果和上述相同。 我又通过相同的方法,在VC应用程序中创建了一个CEvent 实例,同样将其句柄传到驱动程序中,在驱动程序中用此句柄构造了一个KEvent实例,然后在应用程序中的WaitSingleObject每次就能触发。 (注:事件的触发是由外部中断响应函数每次设置(SET)的)。 |
|
沙发#
发布于:2001-08-31 00:41
打下:
可能你用错了。 请参考example\nt\kbfilter.例子。 这里有一个kevent事件、线程、等待的最适合你的例子。只要稍稍修改就完全可以使用了。(等待、产生线程、事件在exe中,set在sys中) (给我加分吧,还没有人给过我分呢!) |
|
板凳#
发布于:2001-09-02 21:17
谢谢你的回复.
NT中的例子的用法我已经可以掌握了.但我要请教的是SET和WAIT都在WDM中好象不太好用,我是在线程中WAIT的,结果不是想象的那么简单.不知打下有何高见? |
|