-
-
[求助]关于同步事件
-
发表于:
2015-9-18 21:43
3513
-
现在在看WINDOWS内核安全与驱动开发,看到使用同步事件这里。
VOID KeInitlizeEvent(IN PRKEVENT Event,IN EVENT_TYPE Type,IN BOOLEAN State);
书上两个地方对这个东西的描述不一样,让我感到很迷惑,书上的原话是:
1:由于在KeInitializeEvent中使用了SynchronizationEvent,导致这个事件成为所谓的“自动重设”事件。一个事件如果被设置,那么所有KeWaitForSingleObject等待这个事件的地方都会通过。
2:如果这个事件被初始化时是SynchronizationEvent事件,那么只有一个线程的KeWaitForSingleObject可以通过,通过之后被重设,其他的线程就只能继续等待了。
到底是哪个正确,如果是第二个,那么如果同时有几个线程都在等待的话,我怎么才能知道设置了事件后哪个线程会通过呢?
谢谢大家!!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)