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 是另一个)

此方法从 Kernel32.dll 公开 Win32 GlobalReAlloc 函数。 返回的指针可能与原始指针不同。 如果不同,则原始内存块的内容已复制到新块,并且已释放原始内存块。

适用于

另请参阅