LocalFree 함수(winbase.h)

지정된 로컬 메모리 개체를 해제하고 해당 핸들을 무효화합니다.

참고 로컬 함수는 오버헤드가 더 크고 다른 메모리 관리 함수보다 적은 기능을 제공합니다. 설명서에서 로컬 함수를 사용해야 한다고 명시하지 않는 한 새 애플리케이션은 힙 함수를 사용해야 합니다. 자세한 내용은 전역 및 로컬 함수를 참조하세요.
 

구문

HLOCAL LocalFree(
  [in] _Frees_ptr_opt_ HLOCAL hMem
);

매개 변수

[in] hMem

로컬 메모리 개체에 대한 핸들입니다. 이 핸들은 LocalAlloc 또는 LocalReAlloc 함수에서 반환됩니다. GlobalAlloc으로 할당된 메모리를 해제하는 것은 안전하지 않습니다.

반환 값

함수가 성공하면 반환 값은 NULL입니다.

함수가 실패하면 반환 값은 로컬 메모리 개체에 대한 핸들과 같습니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

프로세스가 해제된 후 메모리를 검사하거나 수정하려고 하면 힙 손상이 발생하거나 액세스 위반 예외(EXCEPTION_ACCESS_VIOLATION)가 생성될 수 있습니다.

hMem 매개 변수가 NULL이면 LocalFree는 매개 변수를 무시하고 NULL을 반환합니다.

LocalFree 함수는 잠긴 메모리 개체를 해제합니다. 잠긴 메모리 개체의 잠금 수가 0보다 큽니다. LocalLock 함수는 로컬 메모리 개체를 잠그고 잠금 수를 1씩 증분합니다. LocalUnlock 함수는 잠금을 해제하고 잠금 수를 1씩 감소합니다. 로컬 메모리 개체의 잠금 수를 가져오려면 LocalFlags 함수를 사용합니다.

애플리케이션이 시스템의 디버그 버전에서 실행되는 경우 LocalFree 는 잠긴 개체가 해제되고 있음을 알리는 메시지를 실행합니다. 애플리케이션을 디버깅하는 경우 LocalFree 는 잠긴 개체를 해제하기 직전에 중단점을 입력합니다. 이렇게 하면 의도한 동작을 확인한 다음 실행을 계속할 수 있습니다.

예제

예제는 LocalAlloc를 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

전역 및 로컬 함수

GlobalFree

LocalAlloc

LocalFlags

LocalLock

LocalReAlloc

LocalUnlock

메모리 관리 함수