NativeMemory.AlignedRealloc(Void*, UIntPtr, UIntPtr) Metoda

Definice

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

Void*

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).

Platí pro