Marshal.ReAllocHGlobal(IntPtr, IntPtr) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.