NativeMemory.AlignedRealloc(Void*, UIntPtr, UIntPtr) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
Pointeur vers le bloc de mémoire aligné réalloué.
- Attributs
Exceptions
alignment
n’est pas une puissance de deux.
La réaffectation byteCount
de la mémoire avec alignment
échec.
Remarques
Cette méthode agit comme AlignedAlloc(UIntPtr, UIntPtr) si ptr
était null
.
Cette méthode permet byteCount
d’être 0
et retourne un pointeur valide qui ne doit pas être déréférencé et qui doit être passé à libre pour éviter les fuites de mémoire.
Cette méthode est une API de réallocation 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).