Функция GlobalUnlock (winbase.h)
Уменьшает количество блокировок, связанное с объектом памяти, выделенным с GMEM_MOVEABLE. Эта функция не влияет на объекты памяти, выделенные GMEM_FIXED.
Синтаксис
BOOL GlobalUnlock(
[in] HGLOBAL hMem
);
Параметры
[in] hMem
Дескриптор объекта глобальной памяти. Этот дескриптор возвращается функцией GlobalAlloc или GlobalReAlloc.
Возвращаемое значение
Если объект памяти по-прежнему заблокирован после уменьшения числа блокировок, возвращаемое значение является ненулевое значение. Если объект памяти разблокирован после уменьшения количества блокировок, функция возвращает ноль и GetLastError возвращает NO_ERROR.
Если функция завершается ошибкой, возвращаемое значение равно нулю и GetLastError возвращает значение, отличное от NO_ERROR.
Замечания
Внутренние структуры данных для каждого объекта памяти включают число блокировок, которое изначально равно нулю. Для перемещаемых объектов памяти функция GlobalLock увеличивает количество по одному, а GlobalUnlock уменьшает количество на один. Для каждого вызова, который выполняет процесс для GlobalLock для объекта, он должен в конечном итоге вызывать GlobalUnlock. Заблокированная память не будет перемещена или отменена, если объект памяти не перераспределен с помощью функции GlobalReAlloc. Блок памяти заблокированного объекта памяти остается заблокированным, пока его число блокировки не уменьшается до нуля, в то время как его можно переместить или отменить.
Объекты памяти, выделенные GMEM_FIXED всегда имеют число блокировок нулю. Если указанный блок памяти является фиксированным, эта функция возвращает TRUE.
Если объект памяти уже разблокирован, GlobalUnlock возвращает false и GetLastError сообщает ERROR_NOT_LOCKED.
Процесс не должен полагаться на возвращаемое значение, чтобы определить количество вызовов GlobalUnlock для объекта памяти.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [классические приложения | Приложения UWP] |
минимальный поддерживаемый сервер | Windows Server 2003 [классические приложения | Приложения UWP] |
целевая платформа | Виндоус |
заголовка | winbase.h (включая Windows.h) |
библиотеки | Kernel32.lib |
DLL | Kernel32.dll |