int IDebugEventCallbacksWide.LoadModule(ulong ImageFileHandle, ulong BaseOffset, uint ModuleSize, string ModuleName, string ImageName, uint CheckSum, uint TimeDateStamp) { uint id, pid; SystemObjects.GetCurrentProcessId(out id); SystemObjects.GetCurrentProcessSystemId(out pid); var module = new TargetModule(Processes.First(p => p.PID == pid)) { ImageName = ImageName, Name = ModuleName, BaseAddress = BaseOffset, Size = ModuleSize, TimeStamp = TimeDateStamp, Handle = ImageFileHandle, ProcessIndex = id, PID = pid }; var process = _processes.First(p => p.PID == pid); process.AddModule(module); OnModuleLoaded(new ModuleEventArgs(process, module)); return((int)DEBUG_STATUS.NO_CHANGE); }
internal void RemoveModule(TargetModule module) { _modules.Remove(module); }
internal ModuleEventArgs(TargetProcess process, TargetModule module) { Module = module; Process = process; }
internal void AddModule(TargetModule module) { _modules.Add(module); }