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) を使用して割り当てられたメモリへのポインター。
- cb
-
IntPtr
nativeint
割り当てられたブロックの新しいサイズ。 これはポインターではありません。IntPtr 型にキャストされた、要求しているバイト数です。 ポインターを渡すと、サイズとして扱われます。
戻り値
nativeint
再割り当てされたメモリへのポインター。 このメモリは、FreeHGlobal(IntPtr) を使用して解放する必要があります。
- 属性
例外
メモリが不足しているため要求を満たせません。
注釈
ReAllocHGlobal は、 クラスの 2 つのメモリ再割り当て API メソッドの Marshal 1 つです。 (Marshal.ReAllocCoTaskMem はもう一方です)。
このメソッドは、Kernel32.dll から Win32 GlobalReAlloc 関数を 公開します。 返されるポインターは、元のポインターとは異なる場合があります。 異なる場合は、元のメモリ ブロックの内容が新しいブロックにコピーされ、元のメモリ ブロックが解放されています。
適用対象
こちらもご覧ください
.NET