_aligned_offset_realloc_dbg

Cambia el tamaño de un bloque de memoria que fue asignado con _aligned_malloc o _aligned_offset_malloc (versión de depuración solo).

void * _aligned_offset_realloc_dbg(
   void *memblock, 
   size_t size, 
   size_t alignment,
   size_t offset,
   const char *filename,
   int linenumber 
);

Parámetros

  • [in] memblock
    El puntero actual del bloque de memoria.

  • [in] size
    El tamaño de asignación de memoria.

  • [in] alignment
    El valor alignment, que debe ser una potencia entero de 2.

  • [in] offset
    el desplazamiento en la asignación de memoria para forzar la alineación.

  • [in] filename
    Puntero al nombre del archivo de código fuente que solicitó la operación de aligned_offset_realloc o el valor NULL.

  • [in] linenumber
    Número de línea en el archivo de código fuente donde la operación de aligned_offset_realloc se solicitó o NULL.

Valor devuelto

_aligned_offset_realloc_dbg devuelve un puntero void (y posiblemente desplazado) al bloque de memoria reasignado.El valor devuelto es NULL si el tamaño es cero y el argumento del búfer no es NULL, o si no hay suficiente memoria disponible para expandir el bloque al tamaño especificado.En el primer caso, se libera el bloque original.En el segundo caso, el bloque de original no varía.Los puntos del valor devuelto a un espacio de almacenamiento que se garantiza que sea sencilla alineadas para el almacenamiento de cualquier tipo de objeto.Para obtener un puntero a un tipo distinto de vacío, utilice una conversión de tipo del valor devuelto.

Comentarios

_aligned_offset_realloc_dbg es una versión de depuración de la función de _aligned_offset_realloc .Cuando _DEBUG no está definido, cada llamada a _aligned_offset_realloc_dbg se reduce a una llamada a _aligned_offset_realloc._aligned_offset_realloc y _aligned_offset_realloc_dbg reasignan un bloque de memoria del montón base, pero _aligned_offset_realloc_dbg incluye varias características de depuración: búferes situados a cada lado de la parte del usuario del bloque para comprobar que escape, un parámetro blocktype para realizar tipos específicos de asignación, y filename/información delinenumber determinan el origen de las solicitudes de asignación.

Como _aligned_offset_malloc, _aligned_offset_realloc_dbg permite que una estructura se alinean en un desplazamiento dentro de la estructura.

_realloc_dbg reasigna el bloque de memoria especificado con ligeramente más espacio que newSizesolicitado.newSize sea mayor o menor que el tamaño del bloque de memoria originalmente asignado.El espacio adicional usa el administrador del montón de depuración para vincular los bloques de memoria de depuración y proporcionar la aplicación con la información de encabezado de depuración y sobrescribir los búferes.La reasignación puede permitir mover el bloque de memoria original a una ubicación diferente de la pila, así como cambiar el tamaño del bloque de memoria.Si se mueve el bloque de memoria, el contenido del bloque original se sobrescriben.

Esta función establece errno a ENOMEM aunque falle la asignación de memoria o si el tamaño solicitado era mayor que _HEAP_MAXREQ.Para obtener más información sobre errno, vea errno, _doserrno, _sys_errlist, y _sys_nerr.Además, _aligned_offset_realloc_dbg valida sus parámetros.Si alignment no es una potencia de 2 o si es offset mayor o igual size y distinto de cero, esta función invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, esta función devuelve NULL y establece errno a EINVAL.

Para obtener información sobre cómo los bloques de memoria se asignan, inicialice, y se administran en la versión de depuración del montón base, vea Administración de memoria y el montón de depuración.Para obtener información sobre la asignación bloquee los tipos y cómo se utilizan, vea Tipos de bloques del montón de depuración.Para obtener información sobre las diferencias entre llamar a una función estándar de la pila y la versión de depuración en una compilación de depuración de una aplicación, vea Con la versión Versus de depuración la versión base.

Requisitos

rutina

Encabezado necesario

_aligned_offset_realloc_dbg

<crtdbg.h>

Para obtener más información de compatibilidad, vea compatibilidad en la Introducción.

bibliotecas

Versiones de depuración de Bibliotecas en tiempo de ejecución de C únicamente.

Equivalente en .NET Framework

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea La invocación de plataforma ejemplos.

Vea también

Referencia

Rutinas de depuración