Compartilhar via


Função LocalReAlloc (winbase.h)

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

Nota As funções locais 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 local deve ser usada. Para obter mais informações, consulte Funções globais e locais.
 

Sintaxe

DECLSPEC_ALLOCATOR HLOCAL LocalReAlloc(
  [in] _Frees_ptr_opt_ HLOCAL hMem,
  [in] SIZE_T                 uBytes,
  [in] UINT                   uFlags
);

Parâmetros

[in] hMem

Um identificador para o objeto de memória local a ser realocado. Esse identificador é retornado pela função LocalAlloc ou LocalReAlloc .

[in] uBytes

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

[in] uFlags

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

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

Valor Significado
LMEM_MOVEABLE
0x0002
Aloca memória fixa ou móvel.

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

 

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

Valor Significado
LMEM_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.

Valor retornado

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 LocalReAlloc falhar, a memória original não será liberada e o identificador e o ponteiro originais ainda serão válidos.

Se LocalReAlloc 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.

Requisitos

   
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

Localalloc

Localfree

LocalLock

Funções de gerenciamento da memória