This documentation is archived and is not being maintained.

Marshal.GetTypeForITypeInfo Method

Converts an ITypeInfo into a managed Type object.

[Visual Basic]
Public Shared Function GetTypeForITypeInfo( _
   ByVal piTypeInfo As IntPtr _
) As Type
public static Type GetTypeForITypeInfo(
 IntPtr piTypeInfo
public: static Type* GetTypeForITypeInfo(
 IntPtr piTypeInfo
public static function GetTypeForITypeInfo(
   piTypeInfo : IntPtr
) : Type;


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.

Note   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.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

.NET Framework Security: 

See Also

Marshal Class | Marshal Members | System.Runtime.InteropServices Namespace | GetITypeInfoForType | MarshalAsAttribute