Marshal Methods
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.
The Marshal type exposes the following members.
| Name | Description | |
|---|---|---|
|
AddRef | Security Critical. Increments the reference count on the specified interface. |
|
AllocCoTaskMem | Security Critical. Allocates a block of memory of specified size from the COM task memory allocator. |
|
AllocHGlobal | Security Critical. Allocates memory from the unmanaged memory of the process by using the specified number of bytes. |
|
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. |
|
FinalReleaseComObject | Security Critical. Releases all references to a runtime callable wrapper (RCW) by setting its reference count to 0. |
|
FreeCoTaskMem | Security Critical. Frees a block of memory allocated by the unmanaged COM task memory allocator. |
|
FreeHGlobal | Security Critical. Frees memory previously allocated from the unmanaged memory of the process. |
|
GetComInterfaceForObject | Security Critical. Returns a pointer to an IUnknown interface that represents the specified interface on the specified object. Custom query interface access is enabled by default. |
|
GetDelegateForFunctionPointer | Security Critical. Converts an unmanaged function pointer to a delegate. |
|
GetExceptionForHR(Int32) | Security Critical. Converts the specified HRESULT error code to a corresponding Exception object. |
|
GetExceptionForHR(Int32, IntPtr) | Security Critical. Converts the specified HRESULT error code to a corresponding Exception object, with additional error information passed in an [4dda6909-2d9a-4727-ae0c-b5f90dcfa447] interface for the 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. |
|
GetHRForLastWin32Error | Security Critical. Returns the HRESULT corresponding to the last error incurred by Win32 code executed using Marshal. |
|
GetIUnknownForObject | Security Critical. Returns an IUnknown interface from a managed object. |
|
GetLastWin32Error | Security Critical. Returns the error code returned by the last unmanaged function called using platform invoke that has the DllImportAttribute.SetLastError flag set. |
|
GetNativeVariantForObject | Security Critical. Converts an object to a COM VARIANT. |
|
GetObjectForIUnknown | Security Critical. Returns an instance of a type that represents a COM object by a pointer to its IUnknown interface. |
|
GetObjectForNativeVariant | Security Critical. Converts a COM VARIANT to an object. |
|
GetUniqueObjectForIUnknown | Security Critical. Creates a unique [7e542583-1e31-4e10-b523-8cf2f29cb4a4] (RCW) object for a given IUnknown interface. |
|
IsComObject | Indicates whether a specified object represents a COM object. |
|
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. |
|
QueryInterface | Security Critical. Requests a pointer to a specified interface from a COM object. |
|
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(IntPtr) | Security Critical. Reads a processor native sized integer from unmanaged memory. |
|
ReadIntPtr(IntPtr, Int32) | Security Critical. Reads a processor native sized integer from unmanaged memory. |
|
Release | Security Critical. Decrements the reference count on the specified interface. |
|
ReleaseComObject | Security Critical. Decrements the reference count of the specified [7e542583-1e31-4e10-b523-8cf2f29cb4a4] (RCW) associated with the specified COM object. |
|
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. |
|
UnsafeAddrOfPinnedArrayElement | Security Critical. Gets the address of the element at the specified index inside the specified array. |
|
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. |
Show: