Compartilhar via


Marshal.ReAllocHGlobal(IntPtr, IntPtr) Método

Definição

Redimensiona um bloco de memória alocado anteriormente 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 ponteiro para a memória alocada com AllocHGlobal(IntPtr).

cb
IntPtr

nativeint

O novo tamanho do bloco alocado. Este não é um ponteiro; é a contagem de bytes que você está solicitando, convertido para tipo IntPtr. Se você transmitir um ponteiro, ele será tratado como um tamanho.

Retornos

IntPtr

nativeint

Um ponteiro para a memória realocada. Essa memória deve ser liberada usando FreeHGlobal(IntPtr).

Atributos

Exceções

Não há memória suficiente para atender à solicitação.

Comentários

ReAllocHGlobal é um dos dois métodos de API de realocação de memória na Marshal classe . (Marshal.ReAllocCoTaskMem é o outro.)

Esse método expõe a função GlobalReAlloc do Win32 de Kernel32.dll. O ponteiro retornado pode ser diferente do original. Se for diferente, o conteúdo do bloco de memória original será copiado para o novo bloco e o bloco de memória original será liberado.

Aplica-se a

Confira também