Функция GlobalLock

(В линейках ОС Windows NT и 9x не используется)


Функция GlobalLock возвращает указатель на данный объект памяти глобальных данных. Функция GlobalLock наращивает(увеличивает на единицу) счетчик блокировки перемещаемых объектов и фиксирует память. Фиксированная память не будет перемещаться или сбрасывается до тех пор, пока объект памяти не будет перераспределен функцией GlobalReAlloc. Объект остается блокированным (фиксированным) в памяти до тех пор, пока счетчик блокировки не уменьшится до нуля.

Синтаксис

void FAR* GlobalLock(
HGLOBAL hglb            // дескриптор блокированного объекта памяти
             ); 

Параметры

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

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz