PulseEvent
The PulseEvent
function provides a single operation that sets (to signaled) the state of the
specified event object and then resets it (to nonsignaled) after releasing the
appropriate number of waiting threads.
BOOL PulseEvent(
HANDLE hEvent |
// handle of event
object |
); |
|
Parameters
hEvent
Identifies
the event object. The CreateEventQTG5JZ function returns this handle.
Windows
NT: The handle must have
EVENT_MODIFY_STATE access. For more information, see Interprocess
Synchronization Objects
Return Values
If the
function succeeds, the return value is nonzero.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError
Remarks
For a
manual-reset event object, all waiting threads that can be released immediately
are released. The function then resets the event object s state to nonsignaled and returns.
For an
auto-reset event object, the function resets the state to nonsignaled and
returns after releasing a single waiting thread, even if multiple threads are
waiting.
If no threads
are waiting, or if no thread can be released immediately, PulseEvent
simply sets the event object s state to
nonsignaled and returns.
Note that for
a thread using the multiple-object wait functionsY2TC_3 to wait for all specified objects to be
signaled, PulseEvent can set the event object s state to signaled and reset it to nonsignaled
without causing the wait function to return. This happens if not all of the
specified objects are simultaneously signaled.
See Also