WaitForSingleObject
Waits until the specified object is in the signaled state or the time-out interval elapses.
WaitForMultipleObjects
Waits until one or all of the specified objects are in the signaled state.
CreateMutex
Creates or opens a mutex object.
ReleaseMutex
Releases ownership of the specified mutex object.
CreateEvent
Creates or opens a named or unnamed event object.
SetEvent
Sets the specified event object to the signaled state.
ResetEvent
Sets the specified event object to the nonsignaled state.
CreateSemaphore
Creates or opens a semaphore object.
ReleaseSemaphore
Increases the count of the specified semaphore object.
InterlockedIncrement
Atomically increments (adds one to) the specified 32-bit variable.
InterlockedDecrement
Atomically decrements (subtracts one from) the specified 32-bit variable.
InterlockedExchange
Atomically sets a 32-bit variable to a specified value and returns its previous value.
InterlockedCompareExchange
Atomically compares two values and exchanges one of them if they match.