Name
Marshal
Synopsis
This class offers a collection of static methods for working with unmanaged memory and converting managed types to unmanaged types. Unless you are developing specialized code for marshaling types between managed and unmanaged code, you probably do not need to use any of these methods.
GetHRForException( ) converts a .NET exception to
a COM HResult. If you are curious about the platform you are running
on, you can find out the size of a character with the
SystemDefaultCharSize field, which is 1 on an ANSI
platform (Windows 9x/Me) and 2 on a Unicode platform (Windows NT,
2000, and XP).
Use the IsComObject( ) method to determine whether
an object is actually an unmanaged COM object. The AddRef( ) method increments a COM object’s
reference count.
public sealed class Marshal { // Public Static Fields public static readonly int SystemDefaultCharSize; // =2 public static readonly int SystemMaxDBCSCharSize; // =1 // Public Static Methods public static int AddRef(IntPtrpUnk); public static IntPtr AllocCoTaskMem(intcb); public static IntPtr AllocHGlobal(intcb); public static IntPtr AllocHGlobal(IntPtrcb); public static object BindToMoniker(stringmonikerName); public static void ChangeWrapperHandleStrength(objectotp, boolfIsWeak); public static void Copy(byte[ ]source, intstartIndex, IntPtrdestination, intlength); public static void Copy(char[ ]source, intstartIndex, IntPtrdestination, intlength); public static void Copy(double[ ]source, intstartIndex
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access