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)を使用して解放する必要があります。
- 属性
要求を満たすのに十分なメモリがありません。
重要
このネイティブ メモリ アロケーターは、Windows プラットフォーム上の特定の Win32 API によって呼び出されたときに排他的に使用する必要があるレガシ API です。 .NET 6 以降を対象とする場合は、すべてのプラットフォームで NativeMemory クラスを使用してネイティブ メモリを割り当てます。 .NET 6 以前を対象とする場合は、すべてのプラットフォームで AllocCoTaskMem を使用してネイティブ メモリを割り当てます。
ReAllocHGlobal は、Marshal クラスの 2 つのメモリ再割り当て API メソッドの 1 つです。 (Marshal.ReAllocCoTaskMem はもう一方です。
このメソッドは、Kernel32.dllから Win32 GlobalReAlloc 関数を公開します。 返されるポインターは、元のポインターとは異なる場合があります。 異なる場合は、元のメモリ ブロックの内容が新しいブロックにコピーされ、元のメモリ ブロックが解放されました。
製品 | バージョン |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1 |
UWP | 10.0 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。