Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This function releases all resources used by a critical section object that is not owned.

Syntax

void DeleteCriticalSection(
  LPCRITICAL_SECTION 
lpCriticalSection
);

Parameters

lpCriticalSection

[in] Pointer to the critical section object.

Return Value

None.

Remarks

Deleting a critical section object releases all system resources used by the object. Once deleted, the critical section object cannot be specified in the EnterCriticalSection, TryEnterCriticalSection, or LeaveCriticalSectionfunction. If a critical section is deleted while it is still owned, the state of the threads waiting for ownership of the deleted critical section is undefined.

Each object type, such as memory maps, semaphores, events, message queues, mutexes, and watchdog timers, has its own separate namespace. Empty strings, "", are handled as named objects. On Windows desktop-based platforms, synchronization objects all share the same namespace.

Requirements

Header winbase.h
Library Coremain.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also