DeleteCriticalSection-Funktion (synchapi.h)

Gibt alle Ressourcen frei, die von einem nicht erfassten kritischen Abschnittsobjekt verwendet werden.

Syntax

void DeleteCriticalSection(
  [in, out] LPCRITICAL_SECTION lpCriticalSection
);

Parameter

[in, out] lpCriticalSection

Ein Zeiger auf das Objekt des kritischen Abschnitts. Das Objekt muss zuvor mit der InitializeCriticalSection-Funktion initialisiert worden sein.

Rückgabewert

Keine

Bemerkungen

Durch das Löschen eines kritischen Abschnittsobjekts werden alle systemrelevanten Ressourcen freigegeben, die vom Objekt verwendet werden. Der Aufrufer ist dafür verantwortlich, sicherzustellen, dass das kritische Abschnittsobjekt nicht vorhanden ist und auf die angegebene CRITICAL_SECTION Struktur nicht von kritischen Abschnittsfunktionen zugegriffen wird, die von anderen Threads im Prozess aufgerufen werden.

Nachdem ein kritisches Abschnittsobjekt gelöscht wurde, verweisen Sie nicht auf das Objekt in einer Funktion, die für kritische Abschnitte (z. B . EnterCriticalSection, TryEnterCriticalSection und LeaveCriticalSection) mit Ausnahme von InitializeCriticalSection und InitializeCriticalSectionAndSpinCount ausgeführt wird. Wenn Sie dies versuchen, können Speicherbeschädigungen und andere unerwartete Fehler auftreten.

Wenn ein kritischer Abschnitt gelöscht wird, während er sich noch im Besitz befindet, ist der Status der Threads, die auf den Besitz des gelöschten kritischen Abschnitts warten, undefiniert.

Beispiele

Ein Beispiel, das DeleteCriticalSection verwendet, finden Sie unter Verwenden kritischer Abschnittsobjekte.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile synchapi.h (einschließlich Windows.h unter Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Objekte des kritischen Abschnitts

EnterCriticalSection

InitializeCriticalSection

LeaveCriticalSection

Synchronisierungsfunktionen

TryEnterCriticalSection

In VBS-Enklaven verfügbare Vertdll-APIs