Edit

Share via


TypeToTypeInfoMarshaler Class

Definition

Marshals the unmanaged ITypeInfo interface to the managed Type class, and marshals the managed Type class to the unmanaged ITypeInfo interface.

public ref class TypeToTypeInfoMarshaler : System::Runtime::InteropServices::ICustomMarshaler
public class TypeToTypeInfoMarshaler : System.Runtime.InteropServices.ICustomMarshaler
type TypeToTypeInfoMarshaler = class
    interface ICustomMarshaler
Public Class TypeToTypeInfoMarshaler
Implements ICustomMarshaler
Inheritance
TypeToTypeInfoMarshaler
Implements

Remarks

The ITypeInfo interface exposed for a .NET type is based on the metadata that would appear in an exported type library. Likewise, the Type instance exposed for an ITypeInfo interface is based on the metadata that would appear in an imported assembly.

The Type Library Importer (Tlbimp.exe) marks ITypeInfo parameters with the appropriate MarshalAsAttribute with the CustomMarshaler enumeration member when converting signatures that use ITypeInfo parameters to signatures that use Type parameters.

The same conversion functionality can be accomplished without the custom marshaler, by calling GetITypeInfoForType and GetTypeForITypeInfo.

Constructors

TypeToTypeInfoMarshaler()

Provides the static class constructor.

Methods

CleanUpManagedData(Object)

Performs necessary cleanup of the managed data when it is no longer needed.

CleanUpNativeData(IntPtr)

Performs necessary cleanup of the unmanaged data when it is no longer needed.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetInstance(String)

Returns an instance of the custom marshaler.

GetNativeDataSize()

Returns the size in bytes of the unmanaged data to be marshaled.

GetType()

Gets the Type of the current instance.

(Inherited from Object)
MarshalManagedToNative(Object)

Marshals an object from managed code to unmanaged code.

MarshalNativeToManaged(IntPtr)

Marshals an object from unmanaged code to managed code.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to