using System; using Cpp2IlInjected; namespace System.Runtime.InteropServices { /// Provides custom wrappers for handling method calls. // Token: 0x0200059F RID: 1439 [Token(Token = "0x200059F")] [ComVisible(true)] public interface ICustomMarshaler { /// Converts the unmanaged data to managed data. /// A pointer to the unmanaged data to be wrapped. /// An object that represents the managed view of the COM data. // Token: 0x06002CCB RID: 11467 [Token(Token = "0x6002CCB")] [Address(Slot = "0")] object MarshalNativeToManaged(IntPtr pNativeData); /// Converts the managed data to unmanaged data. /// The managed object to be converted. /// A pointer to the COM view of the managed object. // Token: 0x06002CCC RID: 11468 [Token(Token = "0x6002CCC")] [Address(Slot = "1")] IntPtr MarshalManagedToNative(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: 0x06002CCD RID: 11469 [Token(Token = "0x6002CCD")] [Address(Slot = "2")] void CleanUpNativeData(IntPtr pNativeData); /// Performs necessary cleanup of the managed data when it is no longer needed. /// The managed object to be destroyed. // Token: 0x06002CCE RID: 11470 [Token(Token = "0x6002CCE")] [Address(Slot = "3")] void CleanUpManagedData(object ManagedObj); /// Returns the size of the native data to be marshaled. /// The size, in bytes, of the native data. // Token: 0x06002CCF RID: 11471 [Token(Token = "0x6002CCF")] [Address(Slot = "4")] int GetNativeDataSize(); } }