LeaveCriticalSection
The LeaveCriticalSection
function releases ownership of the specified critical section object.
VOID LeaveCriticalSection(
LPCRITICAL_SECTION lpCriticalSection |
// address of
critical section object |
); |
|
Parameters
lpCriticalSection
Points to the
critical section object.
Return Values
This function
does not return a value.
Remarks
The threads
of a single process can use a critical-section object for mutual-exclusion
synchronization. The process is responsible for allocating the memory used by a
critical-section object, which it can do by declaring a variable of type
CRITICAL_SECTION. Before using a critical section, some thread of the process
must call the InitializeCriticalSection
A thread uses
the EnterCriticalSection
If a thread
calls LeaveCriticalSection when it does not have ownership of the
specified critical section object, an error occurs that may cause another
thread using EnterCriticalSection to wait indefinitely.
Any thread of
the process can use the DeleteCriticalSection function to release the
system resources that were allocated when the critical section object was
initialized. After this function has been called, the critical section object
can no longer be used for synchronization.
See Also