Compartir a través de


Función LocalReAlloc (winbase.h)

Cambia el tamaño o los atributos de un objeto de memoria local especificado. El tamaño puede aumentar o disminuir.

Nota Las funciones locales tienen mayor sobrecarga y proporcionan menos características que otras funciones de administración de memoria. Las nuevas aplicaciones deben usar las funciones del montón a menos que la documentación indique que se debe usar una función local. Para obtener más información, vea Funciones globales y locales.
 

Sintaxis

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

Parámetros

[in] hMem

Identificador del objeto de memoria local que se va a reasignar. La función LocalAlloc o LocalReAlloc devuelve este identificador.

[in] uBytes

Nuevo tamaño del bloque de memoria, en bytes. Si uFlags especifica LMEM_MODIFY, este parámetro se omite.

[in] uFlags

Opciones de reasignación. Si se especifica LMEM_MODIFY , la función modifica los atributos del objeto de memoria solo (se omite el parámetro uBytes ). De lo contrario, la función reasigna el objeto de memoria.

Opcionalmente, puede combinar LMEM_MODIFY con el siguiente valor.

Valor Significado
LMEM_MOVEABLE
0x0002
Asigna memoria fija o extraíble.

Si la memoria es un bloque de memoria bloqueado LMEM_MOVEABLE o un bloque de memoria LMEM_FIXED y no se especifica esta marca, la memoria solo se puede reasignar en su lugar.

 

Si este parámetro no especifica LMEM_MODIFY, puede usar el siguiente valor.

Valor Significado
LMEM_ZEROINIT
0x0040
Hace que el contenido de memoria adicional se inicialice en cero si el objeto de memoria aumenta de tamaño.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un identificador para el objeto de memoria reasignado.

Si la función no se realiza correctamente, el valor devuelto es NULL. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Si se produce un error en LocalReAlloc , la memoria original no se libera y el identificador y el puntero originales siguen siendo válidos.

Si LocalReAlloc reasigna un objeto fijo, el valor del identificador devuelto es la dirección del primer byte del bloque de memoria. Para acceder a la memoria, un proceso simplemente puede convertir el valor devuelto a un puntero.

Requisitos

   
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado winbase.h (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Funciones globales y locales

LocalAlloc

LocalFree

LocalLock

Funciones de administración de memoria