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

Definizione

Importante

Questa API non è conforme a CLS.

Reallocate un blocco allineato di memoria delle dimensioni e dell'allineamento specificati, in byte.

[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);

Parametri

ptr
Void*

Blocco di memoria allocato in precedenza.

byteCount

nuint

Dimensioni, in byte, del blocco da allocare.

alignment

nuint

Allineamento, in byte, del blocco da allocare. Questo deve essere un potere di 2.

Restituisce

Void*

Puntatore al blocco allineato allineato alla memoria allineata.

Attributi

Eccezioni

alignment non è una potenza di due.

La riallocazione byteCount della memoria con alignment errore.

Commenti

Questo metodo funge da AlignedAlloc(UIntPtr, UIntPtr) se ptr sia null.

Questo metodo consente byteCount di essere 0 e restituirà un puntatore valido che non deve essere dereferenziato e che deve essere passato gratuitamente per evitare perdite di memoria.

Questo metodo è un'API di reallocation allineata alla piattaforma, _aligned_realloc ad esempio in Win32.

Questo metodo non è compatibile con Free(Void*) o Realloc(Void*, UIntPtr). Invece, chiamare AlignedFree(Void*) o AlignedRealloc(Void*, UIntPtr, UIntPtr).

Si applica a

Prodotto Versioni
.NET 6, 7, 8, 9