using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using DllUtils.Memory; namespace DllUtils.Modules { public interface IModule { IntPtr LocalHandle { get; } IntPtr RemoteHandle { get; } IntPtr FindFunctionHandle(string name); FunctionResult ExecuteFunction(IntPtr function); FunctionResult ExecuteFunction(IntPtr function, T param); FunctionResult ExecuteFunction(string function); FunctionResult ExecuteFunction(string function, T param); Task FindFunctionHandleAsync(string name); Task ExecuteFunctionAsync(IntPtr function); Task ExecuteFunctionAsync(string function); Task ExecuteFunctionAsync(string function, T param); } }