The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
Marshal Class
Silverlight
This type can be used only by trusted applications. If you try to use its members in a partial-trust application, your code will throw a MethodAccessException exception. This type is security-critical, which restricts its use.
Namespace:
System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)
Top
Top
[SECURITY CRITICAL]
Provides a collection of methods for allocating unmanaged memory, copying unmanaged memory blocks, and converting managed to unmanaged types, as well as other miscellaneous methods used when interacting with unmanaged code.
Assembly: mscorlib (in mscorlib.dll)
The Marshal type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() ![]() ![]() | Copy(Byte[], Int32, IntPtr, Int32) | Security Critical. Copies data from a one-dimensional, managed 8-bit unsigned integer array to an unmanaged memory pointer. |
![]() ![]() ![]() ![]() | Copy(Char[], Int32, IntPtr, Int32) | Security Critical. Copies data from a one-dimensional, managed character array to an unmanaged memory pointer. |
![]() ![]() ![]() ![]() | Copy(Double[], Int32, IntPtr, Int32) | Security Critical. Copies data from a one-dimensional, managed double-precision floating-point number array to an unmanaged memory pointer. |
![]() ![]() ![]() ![]() | Copy(Int16[], Int32, IntPtr, Int32) | Security Critical. Copies data from a one-dimensional, managed 16-bit signed integer array to an unmanaged memory pointer. |
![]() ![]() ![]() ![]() | Copy(Int32[], Int32, IntPtr, Int32) | Security Critical. Copies data from a one-dimensional, managed 32-bit signed integer array to an unmanaged memory pointer. |
![]() ![]() ![]() ![]() | Copy(Int64[], Int32, IntPtr, Int32) | Security Critical. Copies data from a one-dimensional, managed 64-bit signed integer array to an unmanaged memory pointer. |
![]() ![]() ![]() ![]() | Copy(IntPtr, Byte[], Int32, Int32) | Security Critical. Copies data from an unmanaged memory pointer to a managed 8-bit unsigned integer array. |
![]() ![]() ![]() ![]() | Copy(IntPtr, Char[], Int32, Int32) | Security Critical. Copies data from an unmanaged memory pointer to a managed character array. |
![]() ![]() ![]() ![]() | Copy(IntPtr, Double[], Int32, Int32) | Security Critical. Copies data from an unmanaged memory pointer to a managed double-precision floating-point number array. |
![]() ![]() ![]() ![]() | Copy(IntPtr, Int16[], Int32, Int32) | Security Critical. Copies data from an unmanaged memory pointer to a managed 16-bit signed integer array. |
![]() ![]() ![]() ![]() | Copy(IntPtr, Int32[], Int32, Int32) | Security Critical. Copies data from an unmanaged memory pointer to a managed 32-bit signed integer array. |
![]() ![]() ![]() ![]() | Copy(IntPtr, Int64[], Int32, Int32) | Security Critical. Copies data from an unmanaged memory pointer to a managed 64-bit signed integer array. |
![]() ![]() ![]() ![]() | Copy(IntPtr, Single[], Int32, Int32) | Security Critical. Copies data from an unmanaged memory pointer to a managed single-precision floating-point number array. |
![]() ![]() ![]() ![]() | Copy(Single[], Int32, IntPtr, Int32) | Security Critical. Copies data from a one-dimensional, managed single-precision floating-point number array to an unmanaged memory pointer. |
![]() ![]() | GetDelegateForFunctionPointer | Security Critical. Converts an unmanaged function pointer to a delegate. |
![]() ![]() ![]() | GetExceptionForHR | Security Critical. Converts the specified HRESULT error code to a corresponding Exception object. |
![]() ![]() ![]() | GetFunctionPointerForDelegate | Security Critical. Converts a delegate into a function pointer callable from unmanaged code. |
![]() ![]() ![]() | GetHRForException | Security Critical. Converts the specified exception to an HRESULT. |
![]() ![]() ![]() ![]() | GetLastWin32Error | Security Critical. Returns the error code returned by the last unmanaged function called using platform invoke that has the DllImportAttribute.SetLastError flag set. |
![]() ![]() ![]() ![]() | Prelink | Security Critical. Executes one-time method setup tasks without calling the method. |
![]() ![]() ![]() ![]() | PrelinkAll | Security Critical. Performs a pre-link check for all methods on a class. |
![]() ![]() | PtrToStringAnsi(IntPtr) | Security Critical. Copies all characters up to the first null from an unmanaged ANSI string to a managed String. Widens each ANSI character to Unicode. |
![]() ![]() | PtrToStringAnsi(IntPtr, Int32) | Security Critical. Allocates a managed String, copies a specified number of characters from an unmanaged ANSI string into it, and widens each ANSI character to Unicode. |
![]() ![]() ![]() ![]() | PtrToStringUni(IntPtr) | Security Critical. Allocates a managed String and copies all characters up to the first null character from an unmanaged Unicode string into it. |
![]() ![]() ![]() ![]() | PtrToStringUni(IntPtr, Int32) | Security Critical. Copies a specified number of characters from a Unicode string stored in native heap to a managed String. |
![]() ![]() ![]() ![]() | PtrToStructure(IntPtr, Object) | Security Critical. Marshals data from an unmanaged block of memory to a managed object. |
![]() ![]() ![]() ![]() | PtrToStructure(IntPtr, Type) | Security Critical. Marshals data from an unmanaged block of memory to a newly allocated managed object of the specified type. |
![]() ![]() ![]() ![]() | ReadByte(IntPtr) | Security Critical. Reads a single byte from an unmanaged pointer. |
![]() ![]() ![]() ![]() | ReadByte(IntPtr, Int32) | Security Critical. Reads a single byte at a given offset (or index) from an unmanaged pointer. |
![]() ![]() ![]() ![]() | ReadInt16(IntPtr) | Security Critical. Reads a 16-bit signed integer from the unmanaged memory. |
![]() ![]() ![]() ![]() | ReadInt16(IntPtr, Int32) | Security Critical. Reads a 16-bit signed integer from unmanaged memory. |
![]() ![]() ![]() ![]() | ReadInt32(IntPtr) | Security Critical. Reads a 32-bit signed integer from unmanaged memory. |
![]() ![]() ![]() ![]() | ReadInt32(IntPtr, Int32) | Security Critical. Reads a 32-bit signed integer from unmanaged memory. |
![]() ![]() ![]() ![]() | ReadInt64(IntPtr) | Security Critical. Reads a 64-bit signed integer from unmanaged memory. |
![]() ![]() ![]() ![]() | ReadInt64(IntPtr, Int32) | Security Critical. Reads a 64-bit signed integer from unmanaged memory. |
![]() ![]() ![]() ![]() | ReadIntPtr | Security Critical. Reads a processor native sized integer from unmanaged memory. |
![]() ![]() ![]() ![]() | SizeOf(Object) | Returns the unmanaged size of an object in bytes. |
![]() ![]() ![]() ![]() | SizeOf(Type) | Returns the size of an unmanaged type in bytes. |
![]() ![]() ![]() ![]() | StructureToPtr | Security Critical. Marshals data from a managed object to an unmanaged block of memory. |
![]() ![]() ![]() | ThrowExceptionForHR(Int32) | Security Critical. Throws an exception with a specific failure HRESULT value. |
![]() ![]() ![]() | ThrowExceptionForHR(Int32, IntPtr) | Security Critical. Throws an exception with a specific failure HRESULT. |
![]() ![]() ![]() ![]() | WriteByte(IntPtr, Byte) | Security Critical. Writes a single byte value to unmanaged memory. |
![]() ![]() ![]() ![]() | WriteByte(IntPtr, Int32, Byte) | Security Critical. Writes a single byte value to unmanaged memory. |
![]() ![]() ![]() ![]() | WriteInt16(IntPtr, Int16) | Security Critical. Writes a 16-bit integer value to unmanaged memory. |
![]() ![]() ![]() ![]() | WriteInt16(IntPtr, Int32, Int16) | Security Critical. Writes a 16-bit signed integer value into unmanaged memory. |
![]() ![]() ![]() ![]() | WriteInt32(IntPtr, Int32) | Security Critical. Writes a 32-bit signed integer value to unmanaged memory. |
![]() ![]() ![]() ![]() | WriteInt32(IntPtr, Int32, Int32) | Security Critical. Writes a 32-bit signed integer value into unmanaged memory. |
![]() ![]() ![]() ![]() | WriteInt64(IntPtr, Int64) | Security Critical. Writes a 64-bit signed integer value to unmanaged memory. |
![]() ![]() ![]() ![]() | WriteInt64(IntPtr, Int32, Int64) | Security Critical. Writes a 64-bit signed integer value to unmanaged memory. |
![]() ![]() ![]() ![]() | WriteIntPtr | Security Critical. Writes a processor native sized integer value into unmanaged memory. |
| Name | Description | |
|---|---|---|
![]() ![]() ![]() ![]() | SystemDefaultCharSize | Represents the default character size on the system; the default is 2 for Unicode systems and 1 for ANSI systems. This field is read-only. |
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Community Additions
Show:




