NativeMemory.AlignedAlloc(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.
Wijst een uitgelijnd geheugenblok toe van de opgegeven grootte en uitlijning in bytes.
public:
static void* AlignedAlloc(UIntPtr byteCount, UIntPtr alignment);
[System.CLSCompliant(false)]
public static void* AlignedAlloc(UIntPtr byteCount, UIntPtr alignment);
[System.CLSCompliant(false)]
public static void* AlignedAlloc(nuint byteCount, nuint alignment);
[<System.CLSCompliant(false)>]
static member AlignedAlloc : unativeint * unativeint -> nativeptr<unit>
Parameters
- 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 toegewezen uitgelijnde geheugenblok.
- Kenmerken
Uitzonderingen
alignment is geen macht van twee.
byteCount Toewijzen van geheugen met alignment mislukt.
Opmerkingen
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 thin wrapper via de C-API aligned_alloc of een platformafhankelijke toewijzings-API, zoals _aligned_malloc 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).