NativeMemory.AlignedRealloc(Void*, UIntPtr, UIntPtr) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
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).