示例#1
0
        public int UnloadModule(string ImageBaseName, ulong BaseOffset)
        {
            ModuleEventHandler evt = ModuleUnloadEvent;

            if (evt != null)
            {
                evt(this, new ModuleEventArgs(ImageBaseName, BaseOffset));
            }

            return(0);
        }
示例#2
0
        public int LoadModule(ulong ImageFileHandle, ulong BaseOffset, uint ModuleSize, string ModuleName, string ImageName, uint CheckSum, uint TimeDateStamp)
        {
            ModuleEventHandler evt = ModuleLoadEvent;

            if (evt != null)
            {
                evt(this, new ModuleEventArgs(ImageFileHandle, BaseOffset, ModuleSize, ModuleName, ImageName, CheckSum, TimeDateStamp));
            }

            return(0);
        }
        private static MethodInfo TryGetModuleEventHandler(AddinModule Module, ModuleEventHandler Handler)
        {
            MethodInfo mi = null;
            try
            {
                mi = Module.GetType().GetMethod(Handler.ToString());
            }
            catch (Exception)
            {

            }
            return mi;
        }
        public static void RunModuleEventHandler(ApplicationFactory AppFactory, InteropExcel.Workbook ActiveWorkbook, ModuleEventHandler Handler, object[] parameters)
        {
            foreach (var item in _ModuleList)
            {

                if (item.Value.CheckEnability(AppFactory, ActiveWorkbook))
                {
                    MethodInfo mi = TryGetModuleEventHandler(item.Value, Handler);
                    if (mi != null)
                    {
                        mi.Invoke(item.Value, parameters);
                    }

                }
            }
        }