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

Definisi

Penting

API ini bukan kompatibel CLS.

Merealokasi blok memori yang selaras dengan ukuran dan perataan yang ditentukan, dalam byte.

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>

Parameter

ptr
Void*

Blok memori yang dialokasikan sebelumnya.

byteCount
UIntPtr

nuint

unativeint

Ukuran, dalam byte, dari blok untuk dialokasikan.

alignment
UIntPtr

nuint

unativeint

Perataan, dalam byte, dari blok untuk dialokasikan. Ini harus menjadi kekuatan 2.

Mengembalikan

Void*

Pointer ke blok memori yang diselaraskan secara realokasi.

Atribut

Pengecualian

alignment bukan kekuatan dua.

Realokasi byteCount memori dengan alignment gagal.

Keterangan

Metode ini bertindak seolah-olah AlignedAlloc(UIntPtr, UIntPtr)ptr adalah null.

Metode ini memungkinkan byteCount dan 0 akan mengembalikan penunjuk yang valid yang seharusnya tidak didereferensikan dan yang harus diteruskan ke bebas untuk menghindari kebocoran memori.

Metode ini adalah API realokasi selaras dependen platform seperti _aligned_realloc pada Win32.

Metode ini tidak kompatibel dengan Free(Void*) atau Realloc(Void*, UIntPtr). Sebagai gantinya, panggil AlignedFree(Void*) atau AlignedRealloc(Void*, UIntPtr, UIntPtr).

Berlaku untuk