다음을 통해 공유


GlobalFree 함수(winbase.h)

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

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

구문

HGLOBAL GlobalFree(
  [in] _Frees_ptr_opt_ HGLOBAL hMem
);

매개 변수

[in] hMem

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

반환 값

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

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

설명

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

GlobalFree 함수는 잠긴 메모리 개체를 해제합니다. 잠긴 메모리 개체의 잠금 개수가 0보다 큽니다. GlobalLock 함수는 전역 메모리 개체를 잠그고 잠금 수를 1씩 증분합니다. GlobalUnlock 함수는 잠금을 해제하고 잠금 수를 1씩 감소합니다. 전역 메모리 개체의 잠금 수를 가져오려면 GlobalFlags 함수를 사용합니다.

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

예제

예제는 GlobalAlloc을 참조하세요.

요구 사항

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

참고 항목

전역 및 로컬 함수

GlobalAlloc

GlobalFlags

GlobalLock

GlobalReAlloc

GlobalUnlock

메모리 관리 함수