NativeMemory.AlignedRealloc(Void*, UIntPtr, UIntPtr) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wichtig
Diese API ist nicht CLS-kompatibel.
Ordnet einen ausgerichteten Speicherblock der angegebenen Größe und Ausrichtung in Bytes um.
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)]
public static void* AlignedRealloc (void* ptr, UIntPtr byteCount, UIntPtr alignment);
[<System.CLSCompliant(false)>]
static member AlignedRealloc : nativeptr<unit> * unativeint * unativeint -> nativeptr<unit>
Parameter
- ptr
- Void*
Der zuvor zugewiesene Speicherblock.
- byteCount
-
UIntPtr
nuint
unativeint
Die Größe des zuzuordnenden Blocks in Bytes.
- alignment
-
UIntPtr
nuint
unativeint
Die Ausrichtung des zu zuordnenden Blocks in Bytes. Dies muss eine Macht von 2
sein.
Gibt zurück
Ein Zeiger auf den neu zugeordneten, ausgerichteten Speicherblock.
- Attribute
Ausnahmen
alignment
ist keine Macht von zwei.
Neuzuweisung byteCount
des Arbeitsspeichers mit alignment
fehler.
Hinweise
Diese Methode verhält sich so, als AlignedAlloc(UIntPtr, UIntPtr) wäre ptr
null
.
Diese Methode ermöglicht byteCount
0
und gibt einen gültigen Zeiger zurück, der nicht abgeleitet werden sollte und an frei übergeben werden sollte, um Speicherverluste zu vermeiden.
Bei dieser Methode handelt es sich um eine plattformabhängige Umverteilungs-API, z _aligned_realloc
. B. für Win32.
Diese Methode ist nicht mit Free(Void*) oder Realloc(Void*, UIntPtr)kompatibel. Rufen Sie stattdessen oder AlignedRealloc(Void*, UIntPtr, UIntPtr)aufAlignedFree(Void*).