GCHandle.Alloc Method (Object)
Allocates a Normal handle for the specified object.
Assembly: mscorlib (in mscorlib.dll)
An instance with nonprimitive (non-blittable) members cannot be pinned.
Normal handles are opaque, which means that you cannot resolve the address of the object it contains through the handle.
The following example shows an App class that creates a handle to a managed object using the GCHandle.Alloc method, which prevents the managed object from being collected. A call to the EnumWindows method passes a delegate and a managed object (both declared as managed types, but not shown), and casts the handle to an IntPtr. The unmanaged function passes the type back to the caller as a parameter of the callback function.
requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.
Available since 8
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Available since 8.1