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

Definition

Wichtig

Diese API ist nicht CLS-kompatibel.

Ordnet einen ausgerichteten Speicherblock der angegebenen Größe und Ausrichtung in Bytes neu zu.

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 zuzuordnenden Blocks in Bytes. Dies muss eine Leistung von 2sein.

Gibt zurück

Void*

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) ob ptr ist null.

Diese Methode ermöglicht byteCount es, einen gültigen Zeiger zurückzugeben 0 , der nicht dereferenziert und an free übergeben werden soll, um Speicherverluste zu vermeiden.

Diese Methode ist eine plattformabhängige Umverteilungs-API, z _aligned_realloc . B. in Win32.

Diese Methode ist nicht mit Free(Void*) oder Realloc(Void*, UIntPtr)kompatibel. Rufen Sie stattdessen oder auf AlignedFree(Void*)AlignedRealloc(Void*, UIntPtr, UIntPtr).

Gilt für: