Функция 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 |