_aligned_offset_realloc

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Cambia el tamaño de un bloque de memoria que se asignó con _aligned_malloc o _aligned_offset_malloc.

void * _aligned_offset_realloc(  
   void *memblock,   
   size_t size,   
   size_t alignment,  
   size_t offset  
);  

Parámetros

memblock
Puntero de bloque de memoria actual.

size
Tamaño de la asignación de memoria.

alignment
El valor de alineación, que debe ser un entero potencia de 2.

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

_aligned_offset_realloc devuelve un puntero void al bloque de memoria reasignado (y, probablemente, trasladado). El valor devuelto es NULL si el tamaño es cero y el argumento de búfer no es NULL, o si no hay memoria suficiente para expandir el bloque al tamaño en cuestión. En el primer caso, se libera el bloque original. En el segundo, el bloque original permanece inalterado. El valor devuelto apunta a un espacio de almacenamiento confirmado como correctamente alineado para almacenar cualquier tipo de objeto. Para obtener un puntero a un tipo distinto a void, use una conversión de tipo en el valor devuelto.

_aligned_offset_realloc está marcado como __declspec(noalias) y __declspec(restrict), lo que significa que se garantiza que la función no modifica variables globales y que el puntero devuelto no tiene alias. Para obtener más información, consulte noalias y restringir.

Como _aligned_offset_malloc, _aligned_offset_realloc permite alinear en un desplazamiento dentro de la estructura de una estructura.

_aligned_offset_reallocse basa en malloc. Para obtener más información acerca del uso de _aligned_offset_malloc, consulte malloc. Si memblock es NULL, las llamadas de función _aligned_offset_malloc internamente.

Esta función establece errno en ENOMEM si se produce un error en la asignación de memoria o si el tamaño solicitado es mayor que _HEAP_MAXREQ. Para obtener más información acerca de errno, consulte errno, _doserrno, _sys_errlist y _sys_nerr. Además, _aligned_offset_realloc valida sus parámetros. Si alignment no es una potencia de 2 o si offset es mayor o igual a size y distinto de cero, esta función invoca el controlador de parámetros no válidos, como se describe en validación del parámetro. Si la ejecución puede continuar, la función devuelve NULL y establece errno en EINVAL.

RutinaEncabezado necesario
_aligned_offset_realloc<malloc.h>

Para obtener más información, consulte _aligned_malloc.

Alineación de datos

Mostrar: