Функция HeapUnlock (heapapi.h)

Освобождает владение объектом критического раздела или блокировкой, связанной с указанной кучей. Он отменяет действие функции HeapLock .

Синтаксис

BOOL HeapUnlock(
  [in] HANDLE hHeap
);

Параметры

[in] hHeap

Дескриптор кучи, которая должна быть разблокирована. Этот дескриптор возвращается функцией HeapCreate или GetProcessHeap .

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

Если функция выполняется успешно, возвращается ненулевое значение.

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

Комментарии

Функция HeapLock в первую очередь полезна для предотвращения выделения и освобождения памяти кучи другими потоками, в то время как вызывающий поток использует функцию HeapWalk . Функция HeapUnlock является обратной функцией HeapLock.

Каждый вызов HeapLock должен соответствовать соответствующему вызову функции HeapUnlock . Сбой вызова HeapUnlock заблокирует выполнение любых других потоков вызывающего процесса, которые пытаются получить доступ к куче.

Если функция HeapUnlock вызывается в куче, созданной с флагом HEAP_NO_SERIALIZATION , результаты не определены.

Примеры

Перечисление кучи

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header heapapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Функции кучи

HeapLock

HeapWalk

Функции управления памятью

API-интерфейсы Vertdll, доступные в анклавах VBS