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