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.

C#
[System.CLSCompliant(false)]
public static void* AlignedRealloc(void* ptr, UIntPtr byteCount, UIntPtr alignment);
C#
[System.CLSCompliant(false)]
public static void* AlignedRealloc(void* ptr, nuint byteCount, nuint alignment);

Parámetros

ptr
Void*

Bloque de memoria asignado anteriormente.

byteCount

nuint

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

alignment

nuint

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

Produto Versións
.NET 6, 7, 8, 9, 10