Compartir a través de


Marshal.ReAllocHGlobal(IntPtr, IntPtr) Método

Definición

Cambia el tamaño de un bloque de memoria asignado previamente con 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

Puntero a la memoria asignada con AllocHGlobal(IntPtr).

cb
IntPtr

nativeint

Nuevo tamaño del bloque asignado. Esto no es un puntero; es el recuento de bytes que está solicitando, convertido al tipo IntPtr. Si pasa un puntero, se trata como un tamaño.

Devoluciones

IntPtr

nativeint

Puntero a la memoria reasignada. Esta memoria debe liberarse mediante FreeHGlobal(IntPtr).

Atributos

Excepciones

No hay memoria suficiente para satisfacer la solicitud.

Comentarios

Importante

Este asignador de memoria nativo es una API heredada que se debe usar exclusivamente cuando se llama a las API de Win32 específicas en la plataforma Windows. Cuando tenga como destino .NET 6 o posterior, use la clase NativeMemory en todas las plataformas para asignar memoria nativa. Cuando tenga como destino .NET 6 o versiones anteriores, use AllocCoTaskMem en todas las plataformas para asignar memoria nativa.

ReAllocHGlobal es uno de los dos métodos de la API de reasignación de memoria en la clase Marshal. (Marshal.ReAllocCoTaskMem es el otro).

Este método expone la función de Kernel32.dllGlobalReAlloc de Win32 GlobalReAlloc desde Kernel32.dll. El puntero devuelto puede diferir del original. Si es diferente, el contenido del bloque de memoria original se ha copiado en el nuevo bloque y se ha liberado el bloque de memoria original.

Se aplica a

Consulte también