NativeMemory.AlignedRealloc(Void*, UIntPtr, UIntPtr) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Belangrijk
Deze API is niet CLS-conform.
Hiermee wordt een uitgelijnd geheugenblok van de opgegeven grootte en uitlijning in bytes opnieuw geplaatst.
public:
static void* AlignedRealloc(void* ptr, UIntPtr byteCount, UIntPtr alignment);
[System.CLSCompliant(false)]
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)>]
static member AlignedRealloc : nativeptr<unit> * unativeint * unativeint -> nativeptr<unit>
Parameters
- ptr
- Void*
Het eerder toegewezen geheugenblok.
- byteCount
-
UIntPtr
nuint
unativeint
De grootte, in bytes, van het blok dat moet worden toegewezen.
- alignment
-
UIntPtr
nuint
unativeint
De uitlijning, in bytes, van het blok dat moet worden toegewezen. Dit moet een kracht zijn van 2.
Retouren
Een aanwijzer naar het opnieuw toegewezen uitgelijnde geheugenblok.
- Kenmerken
Uitzonderingen
alignment is geen macht van twee.
Het opnieuw toewijzen byteCount van geheugen met alignment mislukt.
Opmerkingen
Deze methode fungeert alsof AlignedAlloc(UIntPtr, UIntPtr)ptr het is null.
Met deze methode kan byteCount een geldige aanwijzer worden 0 geretourneerd die niet moet worden gededucteerd en die moet worden doorgegeven om geheugenlekken te voorkomen.
Deze methode is een platformafhankelijke reallocation-API, zoals _aligned_realloc op Win32.
Deze methode is niet compatibel met Free(Void*) of Realloc(Void*, UIntPtr). In plaats daarvan bellen AlignedFree(Void*) of AlignedRealloc(Void*, UIntPtr, UIntPtr).