NativeMemory.AlignedRealloc(Void*, UIntPtr, UIntPtr) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Importante
Questa API non è conforme a CLS.
Reallocate un blocco allineato di memoria delle dimensioni e dell'allineamento specificati, in byte.
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>
Parametri
- ptr
- Void*
Blocco di memoria allocato in precedenza.
- byteCount
-
UIntPtr
nuint
unativeint
Dimensioni, in byte, del blocco da allocare.
- alignment
-
UIntPtr
nuint
unativeint
Allineamento, in byte, del blocco da allocare. Questo deve essere un potere di 2
.
Restituisce
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).