* Sets the signal state of @Event. Currently libcaptive doesn't use multithreading
* and thus this function will just set the @Event's internal state and it returns
* the previous value.
+ * See also KeResetEvent(), KeClearEvent().
*
* Returns: Previous signal state value of @Event.
*/
* %NULL value is forbidden.
*
* Clears the signal state of @Event. See also KeSetEvent().
+ * Use KeClearEvent() if you do not need the previous signal state of @Event.
*
* Returns: Previous signal state value of @Event.
*/
return InterlockedExchange(&(Event->Header.SignalState),0);
}
+
+
+/**
+ * KeClearEvent:
+ * @Event: Event to clear its signal state off.
+ * %NULL value is forbidden.
+ *
+ * Clears the signal state of @Event. See also KeSetEvent().
+ * Use KeResetEvent() if you need the previous signal state of @Event.
+ */
+VOID KeClearEvent(PKEVENT Event)
+{
+ g_return_if_fail(Event!=NULL);
+
+ Event->Header.SignalState=FALSE;
+}