NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Přidělí zarovnaný blok paměti zadané velikosti a zarovnání v bajtech.
public:
static void* AlignedAlloc(UIntPtr byteCount, UIntPtr alignment);
[System.CLSCompliant(false)]
public static void* AlignedAlloc (nuint byteCount, nuint alignment);
[System.CLSCompliant(false)]
public static void* AlignedAlloc (UIntPtr byteCount, UIntPtr alignment);
[<System.CLSCompliant(false)>]
static member AlignedAlloc : unativeint * unativeint -> nativeptr<unit>
Parametry
- byteCount
-
UIntPtr
nuint
unativeint
Velikost bloku, který se má přidělit, v bajtech.
- alignment
-
UIntPtr
nuint
unativeint
Zarovnání bloku, který se má přidělit, v bajtech. To musí být síla 2
.
Návraty
Ukazatel na přidělený zarovnaný blok paměti.
- Atributy
Výjimky
alignment
není mocnina dvou.
Přidělení byteCount
paměti pomocí alignment
se nezdařilo.
Poznámky
Tato metoda umožňuje byteCount
být 0
a vrátí platný ukazatel, který by neměl být dereferencován a který by měl být předán do volného, aby se zabránilo nevracení paměti.
Tato metoda je tenká obálka přes rozhraní API jazyka C aligned_alloc
nebo rozhraní API pro přidělování zarovnané na platformě, například _aligned_malloc
ve Win32.
Tato metoda není kompatibilní s Free(Void*) nebo Realloc(Void*, UIntPtr). Místo toho zavolejte AlignedFree(Void*) nebo AlignedRealloc(Void*, UIntPtr, UIntPtr).