This documentation is archived and is not being maintained.

Marshal.ReAllocCoTaskMem Method

Resizes a block of memory previously allocated with AllocCoTaskMem.

Namespace:  System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Public Shared Function ReAllocCoTaskMem ( _
	pv As IntPtr, _
	cb As Integer _
) As IntPtr


Type: System.IntPtr
A pointer to memory allocated with AllocCoTaskMem.
Type: System.Int32
The new size of the allocated block.

Return Value

Type: System.IntPtr
An integer representing the address of the reallocated block of memory. This memory must be released with FreeCoTaskMem.


There is insufficient memory to satisfy the request.

ReAllocCoTaskMem is one of two memory reallocation methods in the Marshal class. (ReAllocHGlobal is the other.) The beginning of the reallocated memory content is the same as the original content; however, the entire memory block can be in a different location. This method exposes the COM CoTaskMemRealloc function, which is referred to as the COM task memory allocator.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

  • SecurityCriticalAttribute 

    requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.