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 函式。 傳回的指標可能與原始指標不同。 如果不同,原始記憶體區塊的內容已複製到新的區塊,而且原始記憶體區塊已釋出。