Marshal.ReAllocHGlobal(IntPtr, IntPtr) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
调整以前使用 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)分配的内存的指针。
返回
IntPtr
nativeint
指向重新分配内存的指针。 必须使用 FreeHGlobal(IntPtr)释放此内存。
- 属性
例外
内存不足,无法满足请求。
注解
重要
此本机内存分配器是一个旧版 API,应在 Windows 平台上由特定 Win32 API 调用时专门使用。 面向 .NET 6 或更高版本时,请使用所有平台上的 NativeMemory 类来分配本机内存。 面向 .NET 6 或更早版本时,在所有平台上使用 AllocCoTaskMem 来分配本机内存。
ReAllocHGlobal 是 Marshal 类中两种内存重新分配 API 方法之一。 (Marshal.ReAllocCoTaskMem 是另一个。
此方法从 Kernel32.dll公开 Win32 GlobalReAlloc 函数。 返回的指针可能与原始指针不同。 如果不同,原始内存块的内容已复制到新块,并且原始内存块已释放。