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);
        }
Пример #2
0
 internal void RemoveModule(TargetModule module)
 {
     _modules.Remove(module);
 }
Пример #3
0
 internal ModuleEventArgs(TargetProcess process, TargetModule module)
 {
     Module  = module;
     Process = process;
 }
Пример #4
0
 internal void AddModule(TargetModule module)
 {
     _modules.Add(module);
 }