Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_aligned_offset_recalloc_dbg

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

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

[in] memblock

El puntero actual del bloque de memoria.

[in] num

Número de elementos.

[in] size

Longitud en bytes de cada elemento.

[in] alignment

Valor de la alineación, que debe ser un entero potencia de 2.

[in] offset

Desplazamiento en la asignación de memoria para imponer la alineación.

[in] filename

Puntero al nombre del archivo de código fuente que solicitó la operación realloc o valor NULL.

[in] linenumber

Número de línea del archivo de código fuente en la que se solicitó la operación realloc o valor NULL.

_aligned_offset_recalloc_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 alinearse convenientemente 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.

_aligned_offset_realloc_dbg es una versión de depuración de la función _aligned_offset_recalloc. Cuando _DEBUG no está definido, cada llamada a _aligned_offset_recalloc_dbg se reduce a una llamada a _aligned_offset_recalloc. _aligned_offset_recalloc y _aligned_offset_recalloc_dbg reasignan un bloque de memoria del montón base, pero _aligned_offset_recalloc_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.

_aligned_offset_realloc_dbg reasigna el bloque de memoria especificado con un poco más de espacio que el newSize solicitado. newSize podría ser mayor o menor que el tamaño del bloque de memoria asignado originalmente. El administrador del montón de depuración usa el espacio adicional para vincular los bloques de memoria de depuración, y para proporcionar a la aplicación información de encabezado de depuración y sobrescribir los búferes. La reasignación podría hacer que el bloque de memoria original se ponga en una ubicación distinta del montón y cambiar el tamaño del bloque de memoria. Si se mueve el bloque de memoria, el contenido del bloque original se sobrescribe.

Esta función establece errno a ENOMEM aunque falle la asignación de memoria o si el tamaño solicitado (num * size) 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_recalloc_dbg valida sus parámetros. Si alignment no es una potencia de 2 o si es offset mayor o igual que el tamaño solicitado 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, la función devuelve NULL y establece errno en 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 de tipos de bloque y cómo se usan, vea Tipos de bloques en el 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.

Rutina

Encabezado necesario

_aligned_offset_recalloc_dbg

<malloc.h>

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

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft