Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The following table shows the kernel synchronization functions.
Programming element | Description |
---|---|
CreateEvent | This function creates a named or an unnamed event object. |
CreateMutex | This function creates a named or unnamed mutex object. |
CreateSemaphore | This function creates a named or unnamed semaphore object. |
DeleteCriticalSection | This function releases all resources used by a critical section object that is not owned. |
DuplicateHandle | This function duplicates an object handle. The duplicate handle refers to the same object as the original handle. Therefore, any changes to the object are reflected through both handles. |
EnterCriticalSection | This function waits for ownership of the specified critical section object. |
InitializeCriticalSection | This function initializes a critical section object. |
InterlockedCompareExchange | This function performs an atomic comparison of the specified values and exchanges the values based on the outcome of the comparison. |
InterlockedCompareExchangePointer | This function performs an atomic comparison of the specified parameter values and exchanges the values based on the outcome of the comparison. |
InterlockedDecrement | This function both decrements (decreases by one) the value of the specified 32-bit variable and checks the resulting value. |
InterlockedExchange | This function atomically exchanges a pair of 32-bit values. |
InterlockedExchangeAdd | This function performs an atomic addition of an increment value to an Addend variable. |
InterlockedExchangePointer | This function atomically exchanges a pair of values. |
InterlockedIncrement | This function both increments (increases by one) the value of the specified 32-bit variable and checks the resulting value. |
InterlockedTestExchange | This function is an interlocked function that performs a conditional setting of a variable. |
LeaveCriticalSection | This function releases ownership of the specified critical section object. |
OpenEvent | This function opens an existing named event object. |
PulseEvent | This 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. |
ReleaseMutex | This function releases ownership of the specified mutex object. |
ReleaseSemaphore | This function increases the count of the specified semaphore object by a specified amount. |
ResetEvent | This function sets the state of the specified event object to nonsignaled. |
SetEvent | This function sets the state of the specified event object to signaled. |
TryEnterCriticalSection | This function attempts to enter a critical section without blocking. |
WaitForMultipleObjects | This function returns when either any one of the specified objects is in the signaled state, or the time-out interval elapses. |
WaitForSingleObject | This function returns when the specified object is in the signaled state or when the time-out interval elapses. |
See Also
Send Feedback on this topic to the authors