_aligned_offset_recalloc
Cambia el tamaño de un bloque de memoria que fue asignado con _aligned_malloc o _aligned_offset_malloc e inicializa memoria a 0.
void * _aligned_offset_recalloc(
void *memblock,
size_t num,
size_t size,
size_t alignment,
size_t offset
);
Parámetros
memblock
El puntero actual del bloque de memoria.num
número de elementos.size
longitud en bytes de cada elemento.alignment
El valor alignment, que debe ser una potencia entero de 2.offset
el desplazamiento en la asignación de memoria para forzar la alineación.
Valor devuelto
_aligned_offset_recalloc 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.
_aligned_offset_recalloc es __declspec(noalias) marcado y __declspec(restrict), lo que significa que la función está garantizada para no modificar variables globales y que el puntero devuelto no es con alias.Para obtener más información, vea noalias y limitado.
Comentarios
Como _aligned_offset_malloc, _aligned_offset_recalloc permite que una estructura se alinean en un desplazamiento dentro de la estructura.
_aligned_offset_recalloc se basa en malloc.Para obtener más información sobre cómo utilizar _aligned_offset_malloc, vea malloc.Si memblock es NULL, la función _aligned_offset_malloc internamente.
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 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, esta función devuelve NULL y establece errno a EINVAL.
Requisitos
rutina |
Encabezado necesario |
---|---|
_aligned_offset_recalloc |
<malloc.h> |
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.