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

Définition

Important

Cette API n’est pas conforme CLS.

Réaffecte un bloc aligné de mémoire 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 aligné aligné sur la mémoire.

Attributs

Exceptions

alignment n’est pas un pouvoir de deux.

Échec de la réaffectation byteCount de la mémoire alignment .

Remarques

Cette méthode agit comme AlignedAlloc(UIntPtr, UIntPtr) si c’est le cas ptr null.

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

Cette méthode est une API de réaffectation alignée dépendante de la plateforme, comme _aligned_realloc 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 à