Поделиться через


Marshal.ReAllocHGlobal(IntPtr, IntPtr) Метод

Определение

Изменяет размер блока памяти, предварительно выделенной с использованием 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

Параметры

pv
IntPtr

nativeint

Указатель на память, выделенную с использованием AllocHGlobal(IntPtr).

cb
IntPtr

nativeint

Новый размер выделенного блока. Это не указатель; это запрашиваемое число байтов, приведенное к типу IntPtr. Если передается указатель, он рассматривается как размер.

Возвращаемое значение

IntPtr

nativeint

Указатель на повторно выделенную память. Эта память должна освобождаться с помощью FreeHGlobal(IntPtr).

Атрибуты

Исключения

Недостаточно памяти для выполнения запроса.

Комментарии

ReAllocHGlobal — это один из двух методов API перераспределения Marshal памяти в классе . (Marshal.ReAllocCoTaskMem является другим.)

Этот метод предоставляет функцию Win32 GlobalReAlloc из Kernel32.dll. Возвращаемый указатель может отличаться от исходного. Если он отличается, содержимое исходного блока памяти было скопировано в новый блок, а исходный блок памяти был освобожден.

Применяется к

См. также раздел