_aligned_realloc
Modifie la taille d'un bloc de mémoire qui a été allouée avec _aligned_malloc ou _aligned_offset_malloc.
void * _aligned_realloc(
void *memblock,
size_t size,
size_t alignment
);
Paramètres
[in] memblock
Le pointeur de bloc mémoire actuel.[in] size
La taille de l'allocation de mémoire demandée.[in] alignment
La valeur d'alignement, qui doit être une puissance entière de 2.
Valeur de retour
_aligned_realloc retourne un pointeur void sur le bloc mémoire realloué (et éventuellement déplacé). La valeur de retour est NULL si la taille est de zéro et que l'argument de mémoire tampon n'est pas NULL, ou s'il n'y a pas assez de mémoire disponible pour développer le bloc jusqu'à la taille spécifiée. Dans le premier cas, le bloc d'origine est libéré. Dans le deuxième, le bloc d'origine reste inchangé. Les valeur de retour pointent vers un espace de stockage, qui est garanti d'être aligné correctement pour le stockage de n'importe quel types d'objet. Pour obtenir un pointeur sur un type autre que void, utilisez un cast de type sur la valeur de retour.
C'est une erreur de réallouer la mémoire et de modifier l'alignement d'un bloc.
Notes
_aligned_realloc est basée sur malloc. Pour plus d'informations sur l'utilisation de _aligned_offset_malloc, consultez 6ewkz86d(v=vs.120).md.
Cette fonction alloue à errno la valeur ENOMEM si l'allocation de mémoire a échoué ou si la taille demandée est supérieure à _HEAP_MAXREQ. Pour plus d'informations sur errno, consultez errno, _doserrno, _sys_errlist et _sys_nerr. Aussi, _aligned_realloc valide ses paramètres. Si alignment n'est pas une puissance de 2, cette fonction appelle le gestionnaire de paramètre non valide, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, cette fonction renvoie NULL et définit errno avec la valeur EINVAL.
Configuration requise
Routine |
En-tête requis |
---|---|
_aligned_realloc |
<malloc.h> |
Exemple
Pour plus d'informations, consultez aligned_malloc.