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

Definition

Viktigt!

Detta API uppfyller inte CLS.

Omallokerar ett justerat minnesblock med den angivna storleken och justeringen i 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>

Parametrar

ptr
Void*

Det tidigare allokerade minnesblocket.

byteCount
UIntPtr

nuint

unativeint

Storleken, i byte, på blocket som ska allokeras.

alignment
UIntPtr

nuint

unativeint

Justeringen i byte av blocket som ska allokeras. Det här måste vara en kraft i 2.

Returer

Void*

En pekare till det omallokerade justerade minnesblocket.

Attribut

Undantag

alignment är inte en kraft av två.

Omlokalisering byteCount av minne med alignment misslyckades.

Kommentarer

Den här metoden fungerar som AlignedAlloc(UIntPtr, UIntPtr) om ptr är null.

Den här metoden tillåter byteCount att vara 0 och returnerar en giltig pekare som inte ska avrefereras och som ska skickas utan kostnad för att undvika minnesläckor.

Den här metoden är ett plattformsberoende justerat omallokerings-API, till exempel _aligned_realloc på Win32.

Den här metoden är inte kompatibel med Free(Void*) eller Realloc(Void*, UIntPtr). Anropa AlignedFree(Void*) i stället eller AlignedRealloc(Void*, UIntPtr, UIntPtr).

Gäller för