阅读:1814回复:8
Driver里如何发event通知上层App?
比如:来一个中断通知上层App,App里的计数器加1。。。。。
|
|
最新喜欢:![]() |
沙发#
发布于:2002-05-24 21:28
这样的代码好象很多哩,
不过不同的操作系统具体实现上有一些小的差异吧 |
|
|
板凳#
发布于:2002-05-24 13:47
我也想看看代码怎么写,可以贴出来吗?
|
|
地板#
发布于:2002-01-25 17:34
问题解决了,就像guoba说的一样。多谢guoba。。。
|
|
地下室#
发布于:2002-01-25 08:19
我是这么做的:
1,在App里CreateEvent,OpenEvent. 2,通过DeviceIoControl将该Event的handle传下去 3,在DEVICE_CONTROL的routine里调用ObReferenceObjectByHandle 函数将传下来的handle转成PRKEVENT 4,在中断的时候KeSetEvent 上层App在做完DeviceIoControl后即调用WaitForSingleObject等待 driver来的Event。但总是返回WAIT_OBJECT_0,可实际上我还没触发 中断。 guoba,arthurt,指点一下。最好能贴点代码看看。 |
|
5楼#
发布于:2002-01-24 15:02
也可以在wdm创建event,由app来wait的,和guoba同志的差不多。
|
|
6楼#
发布于:2002-01-23 13:58
我是在2000,WDM做的。
贴点代码吧,把driver和App的都贴出来看看吧。 |
|
7楼#
发布于:2002-01-23 13:04
老兄,能否写几句代码阿?
|
|
|
8楼#
发布于:2002-01-23 12:42
我是在NT下用的,不知道你是在什么操作系统下。
首先,在上层应用程序中创建一个事件,然后把 事件的句柄传到下层驱动程序,然后在驱动程序中 调用这个函数ObReferenceObjectByHandle()获得 下层驱动程序对于上层传下来的句柄。然后你在下层 调用KESETEVENT(),上层用WaitForSingleObject() 这个函数来等待下层的触发,就可以了。 |
|
|