Функция GlobalFree (winbase.h)
Освобождает указанный объект глобальной памяти и делает недействительным его дескриптор.
Синтаксис
HGLOBAL GlobalFree(
[in] _Frees_ptr_opt_ HGLOBAL hMem
);
Параметры
[in] hMem
Дескриптор объекта глобальной памяти. Этот дескриптор возвращается функцией GlobalAlloc или GlobalReAlloc . Освобождение памяти, выделенной с помощью LocalAlloc, небезопасно.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение равно NULL.
Если функция завершается сбоем, возвращаемое значение равно дескриптору объекта глобальной памяти. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Если процесс проверяет или изменяет память после освобождения, может произойти повреждение кучи или может быть создано исключение нарушения доступа (EXCEPTION_ACCESS_VIOLATION).
Функция GlobalFree освободит заблокированный объект памяти. Заблокированный объект памяти имеет число блокировок больше нуля. Функция GlobalLock блокирует объект глобальной памяти и увеличивает количество блокировок на единицу. Функция GlobalUnlock разблокирует ее и уменьшает количество блокировок на один. Чтобы получить количество блокировок объекта глобальной памяти, используйте функцию GlobalFlags .
Если приложение выполняется в отладочной версии системы, GlobalFree выдаст сообщение о том, что заблокированный объект освобождается. При отладке приложения GlobalFree введет точку останова непосредственно перед освобождением заблокированного объекта. Это позволяет проверить предполагаемое поведение, а затем продолжить выполнение.
Примеры
Пример см. в разделе GlobalAlloc.
Требования
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |