using System; using Cpp2IlInjected; namespace System.Runtime.InteropServices { /// Provides custom wrappers for handling method calls. // Token: 0x02000580 RID: 1408 [Token(Token = "0x2000580")] [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: 0x06002AB7 RID: 10935 [Token(Token = "0x6002AB7")] [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: 0x06002AB8 RID: 10936 [Token(Token = "0x6002AB8")] [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: 0x06002AB9 RID: 10937 [Token(Token = "0x6002AB9")] [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: 0x06002ABA RID: 10938 [Token(Token = "0x6002ABA")] [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: 0x06002ABB RID: 10939 [Token(Token = "0x6002ABB")] [Address(Slot = "4")] int GetNativeDataSize(); } }