DeleteCriticalSection 함수(synchapi.h)

소유하지 않은 중요한 섹션 개체에서 사용하는 모든 리소스를 해제합니다.

구문

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

매개 변수

[in, out] lpCriticalSection

중요한 섹션 개체에 대한 포인터입니다. 개체는 InitializeCriticalSection 함수를 사용하여 이전에 초기화되어 있어야 합니다.

반환 값

없음

설명

중요한 섹션 개체를 삭제하면 개체에서 사용하는 모든 시스템 리소스가 해제됩니다. 호출자는 중요한 섹션 개체가 소유되지 않고 지정된 CRITICAL_SECTION 구조가 프로세스의 다른 스레드에서 호출하는 중요한 섹션 함수에 의해 액세스되지 않도록 할 책임이 있습니다.

중요 섹션 개체가 삭제된 후에는 InitializeCriticalSectionInitializeCriticalSectionAndSpinCount 이외의 중요한 섹션(예: EnterCriticalSection, TryEnterCriticalSectionLeaveCriticalSection)에서 작동하는 함수에서 개체를 참조하지 마세요. 이렇게 하려는 경우 메모리 손상 및 기타 예기치 않은 오류가 발생할 수 있습니다.

중요 섹션이 여전히 소유되는 동안 삭제된 경우 삭제된 중요 섹션의 소유권을 기다리는 스레드의 상태는 정의되지 않습니다.

예제

DeleteCriticalSection을 사용하는 예제는 중요 섹션 개체 사용을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 synchapi.h(Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2의 Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

중요 섹션 개체

EnterCriticalSection

InitializeCriticalSection

LeaveCriticalSection

동기화 함수

TryEnterCriticalSection

VBS Enclave에서 사용할 수 있는 Vertdll API