AllocCoTaskMem Method
Collapse the table of content
Expand the table of content

Marshal.AllocCoTaskMem Method (Int32)


Allocates a block of memory of specified size from the COM task memory allocator.

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

public static IntPtr AllocCoTaskMem(
	int cb


Type: System.Int32

The size of the block of memory to be allocated.

Return Value

Type: System.IntPtr

An integer representing the address of the block of memory allocated. This memory must be released with Marshal.FreeCoTaskMem.

Exception Condition

There is insufficient memory to satisfy the request.

AllocCoTaskMem is one of two memory allocation API methods in the Marshal class. (Marshal.AllocHGlobal is the other.) The initial memory content returned is undefined, and the allocated memory can be larger than the requested number of bytes. This method exposes the COM CoTaskMemAlloc function, which is referred to as the COM task memory allocator.


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

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top
© 2015 Microsoft