Compartir vía


NativeMemory.AlignedRealloc(Void*, UIntPtr, UIntPtr) Método

Definición

Importante

Esta API no es conforme a CLS.

Reasigna un bloque alineado de memoria del tamaño y la alineación especificados, en bytes.

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>

Parámetros

ptr
Void*

Bloque de memoria asignado anteriormente.

byteCount
UIntPtr

nuint

unativeint

Tamaño, en bytes, del bloque que se va a asignar.

alignment
UIntPtr

nuint

unativeint

Alineación, en bytes, del bloque que se va a asignar. Debe ser una potencia de 2.

Devoluciones

Void*

Puntero al bloque de memoria alineado reasignado.

Atributos

Excepciones

alignment no es un poder de dos.

Se ha producido un error en la reasignación byteCount de memoria alignment .

Comentarios

Este método actúa como AlignedAlloc(UIntPtr, UIntPtr) si ptr fuera null.

Este método permite byteCount ser 0 y devolverá un puntero válido que no se debe desreferenciar y que se debe pasar para liberar para evitar pérdidas de memoria.

Este método es una API de reasignación alineada dependiente de la plataforma, como _aligned_realloc en Win32.

Este método no es compatible con Free(Void*) o Realloc(Void*, UIntPtr). En su lugar, llame a AlignedFree(Void*) o AlignedRealloc(Void*, UIntPtr, UIntPtr).

Se aplica a