Marshal.GetTypeForITypeInfo Method

Converts an ITypeInfo into a managed Type object.

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

public static Type GetTypeForITypeInfo (
	IntPtr piTypeInfo
public static Type GetTypeForITypeInfo (
	IntPtr piTypeInfo
public static function GetTypeForITypeInfo (
	piTypeInfo : IntPtr
) : Type
Not applicable.



The ITypeInfo interface to marshal.

Return Value

A managed Type that represents the unmanaged ITypeInfo.

GetTypeForITypeInfo returns a System.Type instance that is based on the original type. You can apply the System.Runtime.InteropServices.MarshalAsAttribute to replace standard interop marshaling behavior with this custom marshaler. The Type Library Importer (Tlbimp.exe) uses the custom marshaler to translate ITypeInfo parameters to Type parameters. However, if you obtain an ITypeInfo interface by some means other than Tlbimp.exe, you can use GetTypeForITypeInfo to manually perform the same translation. For additional information about ITypeInfo, see the MSDN Library.


This method uses SecurityAction.LinkDemand to prevent it from being called from untrusted code; only the immediate caller is required to have SecurityPermissionAttribute.UnmanagedCode permission. If your code can be called from partially trusted code, do not pass user input to Marshal class methods without validation. For important limitations on using the LinkDemand member, see Demand vs. LinkDemand.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0