Функция 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 освободит заблокированный объект памяти. Заблокированный объект памяти имеет число блокировок больше нуля. Функция LocalLock блокирует локальный объект памяти и увеличивает количество блокировок на единицу. Функция LocalUnlock разблокирует ее и уменьшает количество блокировок на один. Чтобы получить количество блокировок локального объекта памяти, используйте функцию LocalFlags .
Если приложение выполняется в отладочной версии системы, LocalFree выдаст сообщение о том, что заблокированный объект освобождается. При отладке приложения LocalFree введет точку останова непосредственно перед освобождением заблокированного объекта. Это позволяет проверить предполагаемое поведение, а затем продолжить выполнение.
Примеры
Пример см. в разделе LocalAlloc.
Требования
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |