Função GlobalReAlloc (winbase.h)

Altera o tamanho ou os atributos de um objeto de memória global especificado. O tamanho pode aumentar ou diminuir.

Nota As funções globais têm maior sobrecarga e fornecem menos recursos do que outras funções de gerenciamento de memória. Novos aplicativos devem usar as funções heap , a menos que a documentação declare que uma função global deve ser usada. Para obter mais informações, consulte Funções globais e locais.
 

Sintaxe

DECLSPEC_ALLOCATOR HGLOBAL GlobalReAlloc(
  [in] _Frees_ptr_ HGLOBAL hMem,
  [in] SIZE_T              dwBytes,
  [in] UINT                uFlags
);

Parâmetros

[in] hMem

Um identificador para o objeto de memória global a ser realocado. Esse identificador é retornado pela função GlobalAlloc ou GlobalReAlloc .

[in] dwBytes

O novo tamanho do bloco de memória, em bytes. Se uFlagsespecificar GMEM_MODIFY, esse parâmetro será ignorado.

[in] uFlags

As opções de realocação. Se GMEM_MODIFY for especificado, a função modificará apenas os atributos do objeto de memória (o parâmetro dwBytes será ignorado.) Caso contrário, a função realoca o objeto de memória.

Opcionalmente, você pode combinar GMEM_MODIFY com o valor a seguir.

Valor Significado
GMEM_MOVEABLE
0x0002
Aloca memória móvel.

Se a memória for bloqueada GMEM_MOVEABLE bloco de memória ou um bloco de memória GMEM_FIXED e esse sinalizador não for especificado, a memória só poderá ser realocada no local.

 

Se esse parâmetro não especificar GMEM_MODIFY, você poderá usar o valor a seguir.

Valor Significado
GMEM_ZEROINIT
0x0040
Faz com que o conteúdo de memória adicional seja inicializado como zero se o objeto de memória estiver crescendo em tamanho.

Retornar valor

Se a função for bem-sucedida, o valor retornado será um identificador para o objeto de memória realocada.

Se a função falhar, o valor retornado será NULL. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Se GlobalReAlloc realocar um objeto móvel, o valor retornado será um identificador para o objeto de memória. Para converter o identificador em um ponteiro, use a função GlobalLock .

Se GlobalReAlloc realocar um objeto fixo, o valor do identificador retornado será o endereço do primeiro byte do bloco de memória. Para acessar a memória, um processo pode simplesmente converter o valor retornado em um ponteiro.

Se GlobalReAlloc falhar, a memória original não será liberada e o identificador e o ponteiro originais ainda serão válidos.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho winbase.h (incluir Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Funções globais e locais

Globalalloc

GlobalDiscard

GlobalLock

Funções de gerenciamento da memória