NativeMemory.AlignedRealloc(Void*, UIntPtr, UIntPtr) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Importante
Esta API não está em conformidade com CLS.
Realoca um bloco alinhado de memória com o tamanho e alinhamento especificados, em bytes.
public:
static void* AlignedRealloc(void* ptr, UIntPtr byteCount, UIntPtr alignment);
[System.CLSCompliant(false)]
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)>]
static member AlignedRealloc : nativeptr<unit> * unativeint * unativeint -> nativeptr<unit>
Parâmetros
- ptr
- Void*
O bloco de memória previamente atribuído.
- byteCount
-
UIntPtr
nuint
unativeint
O tamanho, em bytes, do bloco a alocar.
- alignment
-
UIntPtr
nuint
unativeint
O alinhamento, em bytes, do bloco a alocar. Isto deve ser uma potência de 2.
Devoluções
Um apontador para o bloco de memória alinhado realocado.
- Atributos
Exceções
alignment não é um poder de dois.
Realocação byteCount de memória com alignment falha.
Observações
Este método atua como AlignedAlloc(UIntPtr, UIntPtr) se ptr fosse null.
Este método permite byteCount e 0 irá devolver um ponteiro válido que não deve ser desreferenciado e que deve ser passado para o livre para evitar fugas de memória.
Este método é uma API de realocação alinhada dependente da plataforma, como no _aligned_realloc Win32.
Este método não é compatível com Free(Void*) ou Realloc(Void*, UIntPtr). Em vez disso, ligue AlignedFree(Void*) ou AlignedRealloc(Void*, UIntPtr, UIntPtr).