GlobalFree

Функция GlobalFree позволяет освободить объект глобальной памяти и уничтожить его дескриптор.

Примечание: глобальные и локальные функции работают медленнее, чем остальные функции менеджера памяти. Поэтому новые приложения должны использовать функции по работе с кучей. Тем не менее, глобальные функции все еще используются при работе с DDE и областью обмена.

function GlobalFree(
  hMem: HGLOBAL              // дестриптор объекта глобальной памяти
): HGLOBAL; stdcall;

Параметры

hMem [in]
Дескриптор объекта глобальной памяти. Должен быть получен путем вызова функций GlobalAlloc или GlobalReAlloc.

Возвращаемое значение

В случае удачного завершения функция возвращает 0.

В случае ошибки, возвращаемое значение функции равно переданному дескриптору объекта глобальной памяти. Для получения расширенной информации об ошибке следует сделать вызов GetLastError.

Описание

Если процесс модифмцирует память после того, как она была освобождена, может случиться повреждение кучи или возникнуть исключение EAccessViolation (нарушение доступа).

Если параметр hMem равер нулю, то выполнение GlobalFree приводит к возникновению исключительной ситуации EAccessViolation.

Функция GlobalFree может освободить также и объект, заблокированный в памяти. Заблокированным считается такой объект, счетчик блокировок которого больше нуля. Функция GlobalLock блокирует объект глобальной памяти и увеличивает на единицу счетчик блокировок. Функция GlobalUnlock уменьшает на единицу счетчик блокировок, и, если он стал равен нулю, то разблокирует объект в памяти. Для того, чтобы получить количество блокировок объекта глобальной памяти, следует выполнить вызов фукнции GlobalFlags.

Если приложение запущено под отладочной версией операционной системы, то функция GlobalFree выведет сообщение о том, что производиться попытка освободить заблокированный объект глобальной памяти.

Требования

Windows NT/2000: Требуется Windows NT 3.1 или более поздняя версия
Windows 95/98: Требуется Windows 95 или более поздняя версия
Бибиотека: Kernel32.dll
Подключаемый модуль: Windows

Смотри также:

  • управление памятью,
  • работа с кучей,
  • функции для работы с кучей,
  • глобальные и лоальные функции,
  • GlobalAlloc,
  • GlobalFlags,
  • GlobalLock,
  • GlobalReAlloc,
  • GlobalUnlock
  • НазадGlobalFlags GlobalHandleВперед

    © Mystic, 2002