Функция LocalReAlloc (winbase.h)
Изменяет размер или атрибуты указанного объекта локальной памяти. Размер может увеличиваться или уменьшаться.
Синтаксис
DECLSPEC_ALLOCATOR HLOCAL LocalReAlloc(
[in] _Frees_ptr_opt_ HLOCAL hMem,
[in] SIZE_T uBytes,
[in] UINT uFlags
);
Параметры
[in] hMem
Дескриптор для перераспределенного локального объекта памяти. Этот дескриптор возвращается функцией LocalAlloc или LocalReAlloc .
[in] uBytes
Новый размер блока памяти в байтах. Если uFlags указывает LMEM_MODIFY, этот параметр игнорируется.
[in] uFlags
Параметры перераспределения. Если указан LMEM_MODIFY , функция изменяет атрибуты только объекта памяти (параметр uBytes игнорируется). В противном случае функция перераспределяет объект памяти.
При необходимости можно объединить LMEM_MODIFY со следующим значением.
Если этот параметр не указывает LMEM_MODIFY, можно использовать следующее значение.
Значение | Значение |
---|---|
|
Вызывает инициализацию дополнительного содержимого памяти до нуля, если размер объекта памяти увеличивается. |
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение является дескриптором для перераспределенного объекта памяти.
Если функция завершается сбоем, возвращается значение NULL. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Если LocalReAlloc завершается сбоем, исходная память не освобождается, а исходный дескриптор и указатель остаются действительными.
Если LocalReAlloc перераспределяет фиксированный объект, возвращаемое значение дескриптора — это адрес первого байта блока памяти. Чтобы получить доступ к памяти, процесс может просто привести возвращаемое значение к указателю.
Требования
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |