_aligned_offset_recalloc

Modifie la taille d'un bloc de mémoire alloué avec _aligned_malloc ou _aligned_offset_malloc et initialise la mémoire à 0.

void * _aligned_offset_recalloc(
   void *memblock, 
   size_t num, 
   size_t size, 
   size_t alignment,
   size_t offset
);

Paramètres

  • memblock
    le pointeur actuel de bloc de mémoire.

  • num
    Nombre d'éléments.

  • size
    longueur en octets de chaque élément.

  • alignment
    La valeur d'inscription, qui doit être une puissance entière à 2.

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

Valeur de retour

_aligned_offset_recalloc retourne un pointeur void (et éventuellement déplacé) au bloc de mémoire réaffecté.La valeur de retour est NULL si la taille est zéro et l'argument de mémoire tampon n'est pas NULL, ou s'il n'y a pas assez de mémoire libre pour développer le bloc à la taille donnée.dans le premier cas, le bloc d'origine est libéré.Dans le deuxième cas, le bloc d'origine reste inchangé.Les points de valeur de retour à un espace de stockage qui est obligatoirement aligné pour le stockage d'un type d'objet.Pour obtenir un pointeur vers un type autre que le type void, utilisez un cast de type sur la valeur de retour.

_aligned_offset_recalloc est __declspec(noalias) marqué et __declspec(restrict), ce qui signifie que la fonction est garantie ne pas modifier les variables globales et que le pointeur retourné pas alias.Pour plus d'informations, consultez noalias et le restreignez.

Notes

comme _aligned_offset_malloc, _aligned_offset_recalloc permet une structure à aligner à un offset dans la structure.

_aligned_offset_recalloc est basé sur malloc.Pour plus d'informations sur l'utilisation _aligned_offset_malloc, consultez malloc.si memblock est NULL, les appels de fonction _aligned_offset_malloc en interne.

Cette fonction définit errno à ENOMEM si l'allocation de mémoire a échoué ou si la taille demandée (num * size) était supérieure à _HEAP_MAXREQ.Pour plus d'informations sur errno, consultez errno, _doserrno, _sys_errlist, et _sys_nerr.en outre, _aligned_offset_recalloc valide ses paramètres.Si alignment n'est pas une puissance de 2 ou si offset est supérieure ou égale à la taille demandée et une valeur différente de zéro, cette fonction appelle le gestionnaire de paramètre non valide, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, retourne NULL de cette fonction et définit errno à EINVAL.

Configuration requise

routine

en-tête requis

_aligned_offset_recalloc

<malloc.h>

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.

Voir aussi

Référence

Alignement de données

_recalloc

_aligned_recalloc