using System; namespace System.Runtime.InteropServices { /// Designed to provide custom wrappers for handling method calls. // Token: 0x0200031B RID: 795 [ComVisible(true)] public interface ICustomMarshaler { /// Performs necessary cleanup of the managed data when it is no longer needed. /// The managed object to be destroyed. // Token: 0x0600221D RID: 8733 void CleanUpManagedData(object ManagedObj); /// Performs necessary cleanup of the unmanaged data when it is no longer needed. /// A pointer to the unmanaged data to be destroyed. // Token: 0x0600221E RID: 8734 void CleanUpNativeData(IntPtr pNativeData); /// Returns the size of the native data to be marshaled. /// The size in bytes of the native data. // Token: 0x0600221F RID: 8735 int GetNativeDataSize(); /// Converts the managed data to unmanaged data. /// Returns the COM view of the managed object. /// The managed object to be converted. // Token: 0x06002220 RID: 8736 IntPtr MarshalManagedToNative(object ManagedObj); /// Converts the unmanaged data to managed data. /// Returns the managed view of the COM data. /// A pointer to the unmanaged data to be wrapped. // Token: 0x06002221 RID: 8737 object MarshalNativeToManaged(IntPtr pNativeData); } }