NativeMemory.AlignedRealloc(Void*, 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řerozdělí zarovnaný blok paměti zadané velikosti a zarovnání v bajtech.
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>
Parametry
- ptr
- Void*
Dříve přidělený blok paměti.
- byteCount
-
UIntPtr
nuint
unativeint
Velikost bloku v bajtech, který se má přidělit.
- alignment
-
UIntPtr
nuint
unativeint
Zarovnání bloku, který se má přidělit, v bajtech. To musí být mocnina .2
Návraty
Ukazatel na blok paměti zarovnaný s přerozděleným umístěním.
- Atributy
Výjimky
alignment
není síla dvou.
Přerozdělení byteCount
paměti se alignment
nezdařilo.
Poznámky
Tato metoda funguje, jako AlignedAlloc(UIntPtr, UIntPtr) by ptr
byla null
.
Tato metoda umožňuje byteCount
být 0
a vrátí platný ukazatel, který by neměl být dereferenced a který by měl být předán na volné, aby se zabránilo nevracení paměti.
Tato metoda je rozhraní API pro přemísťování závislé na platformě, například _aligned_realloc
ve Win32.
Tato metoda není kompatibilní s Free(Void*) nebo Realloc(Void*, UIntPtr). Místo toho zavolejte AlignedFree(Void*) nebo AlignedRealloc(Void*, UIntPtr, UIntPtr).