Export (0) Print
Expand All

Marshal.PtrToStructure<T> Method (IntPtr, T)

[Supported in the .NET Framework 4.5.1 and later versions]

Marshals data from an unmanaged block of memory to a managed object of the specified type.

Namespace:  System.Runtime.InteropServices
Assemblies:   System.Runtime.InteropServices (in System.Runtime.InteropServices.dll)
  mscorlib (in mscorlib.dll)

public static void PtrToStructure<T>(
	IntPtr ptr,
	T structure
)

Type Parameters

T

The type of structure. This must be a formatted class.

Parameters

ptr
Type: System.IntPtr

A pointer to an unmanaged block of memory.

structure
Type: T

The object to which the data is to be copied.

ExceptionCondition
ArgumentException

Structure layout is not sequential or explicit.

PtrToStructure<T>(IntPtr, T) is often necessary in COM interop and platform invoke when structure parameters are represented as IntPtr values. You cannot use this method overload with value types.

.NET Framework

Supported in: 4.6, 4.5.1

Supported in: Windows Phone 8.1

  • SecurityCriticalAttribute 

    requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Show:
© 2015 Microsoft