Marshal::AllocHGlobal Method (IntPtr)
Allocates memory from the unmanaged memory of the process by using the pointer to the specified number of bytes.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- cb
-
Type:
System::IntPtr
The required number of bytes in memory.
Return Value
Type: System::IntPtrA pointer to the newly allocated memory. This memory must be released using the Marshal::FreeHGlobal method.
| Exception | Condition |
|---|---|
| OutOfMemoryException | There is insufficient memory to satisfy the request. |
AllocHGlobal is one of two memory allocation methods in the Marshal class. (Marshal::AllocCoTaskMem is the other.) This method exposes the Win32 LocalAlloc function from Kernel32.dll.
When AllocHGlobal calls LocalAlloc, it passes a LMEM_FIXED flag, which causes the allocated memory to be locked in place. Also, the allocated memory is not zero-filled.
For example code, see Marshal and AllocHGlobal.
requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1