(В линейках ОС Windows NT и 9x не используется)
Функция GlobalLock возвращает указатель на данный объект памяти глобальных данных. Функция GlobalLock наращивает(увеличивает на единицу) счетчик блокировки перемещаемых объектов и фиксирует память. Фиксированная память не будет перемещаться или сбрасывается до тех пор, пока объект памяти не будет перераспределен функцией GlobalReAlloc. Объект остается блокированным (фиксированным) в памяти до тех пор, пока счетчик блокировки не уменьшится до нуля.
|
hglb
Идентификатор объекта памяти глобальных данных, которые фиксируются.
Возвращаемое значение указывает на первый байт памяти в глобальном объекте, если функция завершается успешно. Оно - NULL, если память объекта была сброшена, или произошла ошибка.
Каждый раз, когда приложение вызывает функцию GlobalLock для объекта, оно должно в конечном счете вызвать и функцию GlobalUnlock для этого объекта.
Эта функция возвратит NULL, если приложение попытается зафиксировать объект памяти размером нуль байтов.
Если функция GlobalLock увеличивает счетчик блокировки объекта, то функция GlobalUnlock уменьшает на 1 счетчик блокировки (фиксации) объекта. Другие функции могут также оказать влияние на подсчет блокировок объекта памяти. Список этих функций, см. в описании функции GetGlobalFlags.
У объектов со сброшенными данными счетчик блокировки (фиксации) всегда равен нулю.
В нижеследующем примере используются функции GlobalAlloc и GlobalLock, чтобы назначить память, а затем вызываются функции GlobalUnlock и GlobalFree, чтобы освободить ее.
HGLOBAL hglb; void FAR* lpvBuffer; hglb = GlobalAlloc(GPTR, 1024); lpvBuffer = GlobalLock(hglb); . . . GlobalUnlock(hglb); GlobalFree(hglb); |
Обзор Устаревшие элементы программирования Windows, GlobalAlloc, GlobalFlags, GlobalFree, GlobalReAlloc, GlobalUnlock
| Размещение и совместимость GlobalLock | ||
| К | Windows XP | Нет |
| л | Windows 2000 Professional | Нет |
| и | Windows NT Workstation | Нет |
| е | Windows Me | Нет |
| н | Windows 98 | Нет |
| т | Windows 95 | Нет |
| С | Windows 2003 Server | Нет |
| е | Windows 2000 Server | Нет |
| р | Windows NT Server | Нет |
| в | ||
| е | ||
| р | ||
| Используемая библиотека | - | |
| Используемая DLL | - | |
| Заголовочный файл | ||
| - объявлено в | - | |
| - включено в | - | |
| Unicode | ||
| Замечания по платформе | Применяется только в Windows версии 2.x | |