Nous recommandons d’utiliser Visual Studio 2017

_aligned_offset_realloc

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Modifie la taille d’un bloc de mémoire qui a été alloué avec _aligned_malloc ou _aligned_offset_malloc.

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

Paramètres

memblock
Pointeur de bloc de mémoire actif.

size
Taille de l'allocation de mémoire.

alignment
Valeur de l'alignement, qui doit être un entier à la puissance 2.

offset
Décalage dans l'allocation de mémoire pour forcer l'alignement.

_aligned_offset_realloc retourne un pointeur void vers le bloc de mémoire réalloué (et éventuellement déplacé). La valeur de retour est NULL si la taille est égale à zéro et l'argument de mémoire tampon n'est pas NULL, ou si la mémoire disponible est insuffisante pour étendre le bloc à la taille donnée. Dans le premier cas, le bloc d'origine est libéré. Dans le second cas, le bloc d'origine est inchangé. La valeur de retour pointe vers un espace de stockage qui est obligatoirement aligné correctement pour le stockage de tout type d'objet. Pour obtenir un pointeur vers un type autre que void, utilisez un cast de type sur la valeur de retour.

_aligned_offset_realloc est marqué __declspec(noalias) et __declspec(restrict), ce qui signifie que la fonction ne peut pas modifier les variables globales et que le pointeur retourné n'a pas d'alias. Pour plus d’informations, consultez noalias et restreindre.

Comme _aligned_offset_malloc, _aligned_offset_realloc autorise une structure à être alignée au niveau d’un décalage au sein de la structure.

_aligned_offset_reallocest basé sur malloc. Pour plus d’informations sur l’utilisation de _aligned_offset_malloc, consultez malloc. Si memblock est NULL, les appels de fonction _aligned_offset_malloc en interne.

Cette fonction affecte à errno la valeur ENOMEM si l'allocation de mémoire a échoué ou si la taille demandée était supérieure à _HEAP_MAXREQ. Pour plus d’informations sur errno, consultez errno, _doserrno, _sys_errlist et _sys_nerr. De plus, _aligned_offset_realloc valide ses paramètres. Si alignment n’est pas une puissance de 2 ou si offset est supérieure ou égale à size et différent de zéro, 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 retourne NULL et affecte la valeur errno à EINVAL.

RoutineEn-tête requis
_aligned_offset_realloc<malloc.h>

Pour plus d’informations, consultez _aligned_malloc.

Alignement des données

Afficher: