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.
Locates an aligned block of memory of the specified size and alignment, in Bytes.
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*
Der zuvor zugewiesene Speicherblock.
- byteCount
-
UIntPtr
nuint
unativeint
Die Größe des zuzuordnenden Blocks in Bytes.
- alignment
-
UIntPtr
nuint
unativeint
Die Ausrichtung des zuzuordnenden Blocks in Bytes. Dies muss eine Kraft von 2.
Gibt zurück
Ein Zeiger auf den neu zugewiesenen ausgerichteten Speicherblock.
- Attribute
Ausnahmen
alignment ist keine Macht von zwei.
Fehler beim Neuspeichern des Arbeitsspeichers byteCountalignment .
Hinweise
Diese Methode fungiert so, als AlignedAlloc(UIntPtr, UIntPtr) wäre dies ptr der Fall null.
Diese Methode ermöglicht byteCount es, 0 einen gültigen Zeiger zurückzugeben, der nicht abgeleitet werden sollte und das frei übergeben werden sollte, um Speicherverluste zu vermeiden.
Diese Methode ist eine plattformabhängige Reallocation-API wie _aligned_realloc z. B. win32.
Diese Methode ist nicht kompatibel mit Free(Void*) oder Realloc(Void*, UIntPtr). Rufen Sie stattdessen an AlignedFree(Void*) oder AlignedRealloc(Void*, UIntPtr, UIntPtr).