我通过deviceiocontrol命令driver建立了两个event对象.退回到app后通过openEvent我可以打开他们.可是当我推出app,并重新启动app后,发现第二次在app里做openevent的时候返回为空.请问这是为什么啊?下面是我的app代码:#includ...
全文
回复(6) 2005-01-30 21:02 来自版块 - 内核编程
表情
stoneabc应该也一样的。 如果需要在内核向用户空间传递一个事件,可以在内核create event对象,在产生事件的例程里,连续调用KeSetEvent、KeReset,在用户空间通过循环wait进行处理。 您好像说的不太对,我试过,在app里进行reset和set都没有问题的....(2005-01-31 21:37)
fslife应该也一样的。 如果需要在内核向用户空间传递一个事件,可以在内核create event对象,在产生事件的例程里,连续调用KeSetEvent、KeReset,在用户空间通过循环wait进行处理。(2005-01-31 17:29)
stoneabc在内核空间生成的事件(Kernel Mode Event)在用户空间是不能Reset的,应该就是这个原因。 不能reset? 那setEvent()呢?(2005-01-31 16:10)
fslife在内核空间生成的事件(Kernel Mode Event)在用户空间是不能Reset的,应该就是这个原因。(2005-01-31 14:13)
stoneabc你在用户空间调用DeviceIoControl去生成事件,在内核中应该是调用的IoCreateNotificationEvent,它生成或者打开一个事件。 你如果打开了一个事件,而没有关闭,那它作为一个内核对象是一直存在的,直到被关闭。 从deviceiocontrol退到a...(2005-01-31 11:47)
fslife你在用户空间调用DeviceIoControl去生成事件,在内核中应该是调用的IoCreateNotificationEvent,它生成或者打开一个事件。 你如果打开了一个事件,而没有关闭,那它作为一个内核对象是一直存在的,直到被关闭。 从deviceiocontrol退到a...(2005-01-31 10:09)

返回顶部