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