Marshal.ReAllocHGlobal(IntPtr, IntPtr) 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.
Redimensiona um bloco de memória previamente atribuído com AllocHGlobal(IntPtr).
public:
static IntPtr ReAllocHGlobal(IntPtr pv, IntPtr cb);
[System.Security.SecurityCritical]
public static IntPtr ReAllocHGlobal(IntPtr pv, IntPtr cb);
public static IntPtr ReAllocHGlobal(IntPtr pv, IntPtr cb);
[<System.Security.SecurityCritical>]
static member ReAllocHGlobal : nativeint * nativeint -> nativeint
static member ReAllocHGlobal : nativeint * nativeint -> nativeint
Public Shared Function ReAllocHGlobal (pv As IntPtr, cb As IntPtr) As IntPtr
Parâmetros
- pv
-
IntPtr
nativeint
Um apontador para a memória alocada com AllocHGlobal(IntPtr).
- cb
-
IntPtr
nativeint
O novo tamanho do bloco atribuído. Isto não é um ponteiro; É a contagem de bytes que está a pedir, cast para escrever IntPtr. Se passar um ponteiro, é tratado como um tamanho.
Devoluções
nativeint
Um apontador para a memória realocada. Esta memória deve ser libertada usando FreeHGlobal(IntPtr).
- Atributos
Exceções
Não há memória suficiente para satisfazer o pedido.
Observações
Importante
Este alocador de memória nativo é uma API legada que deve ser usada exclusivamente quando solicitada por APIs Win32 específicas na plataforma Windows. Ao direcionar .NET 6 ou posteriores, use a classe NativeMemory em todas as plataformas para alocar memória nativa. Ao direcionar .NET Framework, use AllocCoTaskMem em todas as plataformas para alocar memória nativa.
ReAllocHGlobal é um dos dois métodos de API de realocação de memória na Marshal classe. (Marshal.ReAllocCoTaskMem é a outra.)
Este método expõe a função Win32 GlobalReAlloc de Kernel32.dll. O ponteiro devolvido pode diferir do original. Se for diferente, o conteúdo do bloco de memória original foi copiado para o novo bloco, e o bloco de memória original foi libertado.