阅读:1431回复:4
event,消息,紧急求助!!
刚学WINCE,遇到一个大难题。
1.驱动程序和应用程序通信,我在网上查了资料,说用得最多的是通过event,但是好像EVENT是用于 同一进程内的线程同步,驱动和应用程序之间怎么用,一直找不到,网上也讲的比较泛,应该不是驱动那边CreateEvent,应用程序WaitSigle..这么简单,希望不吝赐教~~!!感激不尽~!!! 2.就是应用程序A和应用程序B通信,好像通过消息队列通信,但是如果我A程序里面创建消息队列, B读取消息队列的消息,但是B怎么得到创建消息队列的句柄呢??如果不是这样,应该怎样去设计啊,查了一些资料,好像都没有实列可参考,急~~~ 整个WINCE是全内核模式的。应用程序是用EVC4写的。希望能指点,万分感谢~!!! |
|
沙发#
发布于:2008-03-04 17:05
我来回答驱动和应用程序之间的通信。只要在驱动和应用程序中创建同名事件,如果是驱动触发应用程序,则在应用程序中建立线程等待,在驱动中setevent即可;如果是应用程序触发驱动,直接调用IOCTL就可以了。
|
|
板凳#
发布于:2008-03-05 10:21
非常感谢楼上~!!
我还以为在应用程序里面创建的事件,因为和驱动是不同的进程,所以在驱动里面不能识别呢。如果是USB插入检测的话,那么我的是不是这么操作 在应用程序某处加上: BOOL CreateThread( NULL, 0, NULL,fun,0 ); ....... fun { g_event=CreateEvent(0,FALSE,FALSE,eventname); waitforsingleobject(g_event,0xffff); } 然后再USB驱动某处加上 setevent(g_event); 但是怎么让驱动里面能识别ge_event呢 |
|
地板#
发布于:2008-03-22 12:01
应用程序和驱动之间的事件通讯时,应该得把这个事件的句柄传到对方进程中,然后再Waitfor_,和setevent吧
|
|
地下室#
发布于:2008-04-18 15:03
EVENT 是内核的!
|
|