MSDN Documentation

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.