NativeMemory.AlignedRealloc(Void*, UIntPtr, UIntPtr) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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).