Share via


NativeMemory.AlignedRealloc(Void*, UIntPtr, UIntPtr) Méthode

Définition

Important

Cette API n’est pas conforme CLS.

Réalloue un bloc de mémoire aligné de la taille et de l’alignement spécifiés, en octets.

public:
 static void* AlignedRealloc(void* ptr, UIntPtr byteCount, UIntPtr alignment);
[System.CLSCompliant(false)]
public static void* AlignedRealloc (void* ptr, nuint byteCount, nuint alignment);
[System.CLSCompliant(false)]
public static void* AlignedRealloc (void* ptr, UIntPtr byteCount, UIntPtr alignment);
[<System.CLSCompliant(false)>]
static member AlignedRealloc : nativeptr<unit> * unativeint * unativeint -> nativeptr<unit>

Paramètres

ptr
Void*

Bloc de mémoire précédemment alloué.

byteCount
UIntPtr

nuint

unativeint

Taille, en octets, du bloc à allouer.

alignment
UIntPtr

nuint

unativeint

Alignement, en octets, du bloc à allouer. Il doit s’agir d’une puissance de 2.

Retours

Void*

Pointeur vers le bloc de mémoire aligné réalloué.

Attributs

Exceptions

alignment n’est pas une puissance de deux.

Réaffectation byteCount de la mémoire avec alignment échec.

Remarques

Cette méthode se comporte comme AlignedAlloc(UIntPtr, UIntPtr) si ptr était null.

Cette méthode permet byteCount d’être 0 et de retourner un pointeur valide qui ne doit pas être déréférencé et qui doit être passé à free pour éviter les fuites de mémoire.

Cette méthode est une API de réallocation alignée dépendante de la plateforme, par _aligned_realloc exemple sur Win32.

Cette méthode n’est pas compatible avec Free(Void*) ou Realloc(Void*, UIntPtr). Au lieu de cela, appelez AlignedFree(Void*) ou AlignedRealloc(Void*, UIntPtr, UIntPtr).

S’applique à