Marshal.ReAllocHGlobal(IntPtr, IntPtr) Método

Definição

Redimensiona um bloco de memória alocado anteriormente com AllocHGlobal(IntPtr).Resizes a block of memory previously allocated with AllocHGlobal(IntPtr).

public:
 static IntPtr ReAllocHGlobal(IntPtr pv, IntPtr cb);
[System.Security.SecurityCritical]
public static IntPtr ReAllocHGlobal (IntPtr pv, IntPtr cb);
static member ReAllocHGlobal : nativeint * nativeint -> nativeint
Public Shared Function ReAllocHGlobal (pv As IntPtr, cb As IntPtr) As IntPtr

Parâmetros

pv
IntPtr

Um ponteiro para a memória alocada com AllocHGlobal(IntPtr).A pointer to memory allocated with AllocHGlobal(IntPtr).

cb
IntPtr

O novo tamanho do bloco alocado.The new size of the allocated block. Este não é um ponteiro; é a contagem de bytes que você está solicitando, convertido para tipo IntPtr.This is not a pointer; it is the byte count you are requesting, cast to type IntPtr. Se você transmitir um ponteiro, ele será tratado como um tamanho.If you pass a pointer, it is treated as a size.

Retornos

Um ponteiro para a memória realocada.A pointer to the reallocated memory. Essa memória deve ser liberada usando FreeHGlobal(IntPtr).This memory must be released using FreeHGlobal(IntPtr).

Atributos

Exceções

Não há memória suficiente para atender à solicitação.There is insufficient memory to satisfy the request.

Comentários

ReAllocHGlobal é um dos dois métodos de API de realocação de memória na classe Marshal.ReAllocHGlobal is one of two memory reallocation API methods in the Marshal class. (Marshal.ReAllocCoTaskMem é o outro.)(Marshal.ReAllocCoTaskMem is the other.)

Esse método expõe a função GlobalRealloc do Win32 de Kernel32. dll.This method exposes the Win32 GlobalReAlloc function from Kernel32.dll. O ponteiro retornado pode ser diferente do original.The returned pointer can differ from the 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 liberado.If it is different, the contents of the original memory block have been copied to the new block, and the original memory block has been freed.

Segurança

SecurityCriticalAttribute
requer confiança total para o chamador imediato.requires full trust for the immediate caller. Este membro não pode ser usado pelo código transparente ou parcialmente confiável.This member cannot be used by partially trusted or transparent code.

Aplica-se a

Veja também