Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_aligned_offset_recalloc

Modifie la taille d'un bloc de mémoire qui a été allouée 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
);

memblock

Le pointeur de bloc mémoire actuel.

num

Nombre d'éléments

size

Longueur en octets de chaque élément.

alignment

La valeur d'alignement, qui doit être une puissance entière de 2.

offset

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

_aligned_offset_recalloc 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 cas, le bloc d'origine reste inchangé. Les valeur de retour pointent vers un espace de stockage, qui est garanti d'etre 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.

_aligned_offset_recalloc est marqué __declspec(noalias) et __declspec(restrict) ; cela signifie que la fonction ne modifiera pas de variables globales et que le pointeur retourné n'est pas sous la forme d'un alias. Pour plus d'informations, consultez noalias et restrict.

Comme _aligned_offset_malloc, _aligned_offset_recalloc permet à une structure d'etre alignée avec un décalage à l'interieur de la structure

_aligned_offset_recalloc est basée sur malloc. Pour plus d'informations sur l'utilisation de _aligned_offset_malloc, consultez http://msdn.microsoft.com/fr-fr/library/6ewkz86d.aspx. Si memblock est NULL, la fonction appelle _aligned_offset_malloc en interne.

Cette fonction alloue à errno la valeur ENOMEM si l'allocation de mémoire a échoué ou si la taille demandée (num * size) est supérieure à _HEAP_MAXREQ. Pour plus d'informations sur errno, consultez errno, _doserrno, _sys_errlist et _sys_nerr. Aussi, _aligned_offset_recalloc valide ses paramètres. Si alignment n'est pas une puissance de 2 ou si offset est supérieur ou égal à la taille demandée et non nul, 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.

Routine

En-tête requis

_aligned_offset_recalloc

<malloc.h>

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft