Поделиться через


Функция LocalLock (winbase.h)

Блокирует локальный объект памяти и возвращает указатель на первый байт блока памяти объекта.

Примечание Локальные функции имеют большую нагрузку и предоставляют меньше возможностей, чем другие функции управления памятью. Новые приложения должны использовать функции кучи , если в документации не указано, что следует использовать локальную функцию. Дополнительные сведения см. в разделе Глобальные и локальные функции.
 

Синтаксис

LPVOID LocalLock(
  [in] HLOCAL hMem
);

Параметры

[in] hMem

Дескриптор локального объекта памяти. Этот дескриптор возвращается функцией LocalAlloc или LocalReAlloc .

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

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

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

Комментарии

Внутренние структуры данных для каждого объекта памяти включают число блокировок, изначально равное нулю. Для перемещаемых объектов памяти LocalLock увеличивает число на единицу, а функция LocalUnlock уменьшает число на единицу. Каждый успешный вызов, выполняемый процессом в LocalLock для объекта, должен соответствовать соответствующему вызову LocalUnlock. Заблокированная память не будет перемещена или удалена, если объект памяти не перераспределен с помощью функции LocalReAlloc . Блок памяти заблокированного объекта памяти остается заблокированным в памяти до тех пор, пока его число блокировок не будет уменьшено до нуля, после чего его можно переместить или отменить.

Объекты памяти, выделенные LMEM_FIXED всегда имеют нулевое число блокировок. Для этих объектов значение возвращаемого указателя равно значению указанного дескриптора.

Если указанный блок памяти был удален или блок памяти имеет нулевой размер, эта функция возвращает значение NULL.

Число блокировок для отброшенных объектов всегда равно нулю.

Требования

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

См. также

Глобальные и локальные функции

LocalAlloc

Локальные флаги

LocalReAlloc

LocalUnlock

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