Chromium Code Reviews| Index: util/win/process_info.cc |
| diff --git a/util/win/process_info.cc b/util/win/process_info.cc |
| index cc10fbc57ca11f936b9e7d88b2769dcb586fce24..5fce18a8819e08c23bb3552947b9b43946b03941 100644 |
| --- a/util/win/process_info.cc |
| +++ b/util/win/process_info.cc |
| @@ -131,7 +131,6 @@ bool ReadProcessData(HANDLE process, |
| if (!ReadStruct(process, peb.Ldr, &peb_ldr_data)) |
| return false; |
| - std::wstring module; |
| process_types::LDR_DATA_TABLE_ENTRY<Traits> ldr_data_table_entry; |
| // Include the first module in the memory order list to get our the main |
| @@ -145,8 +144,13 @@ bool ReadProcessData(HANDLE process, |
| &ldr_data_table_entry)) { |
| return false; |
| } |
| - if (!ReadUnicodeString(process, ldr_data_table_entry.FullDllName, &module)) |
| + ProcessInfo::Module module; |
| + if (!ReadUnicodeString( |
| + process, ldr_data_table_entry.FullDllName, &module.name)) { |
| return false; |
| + } |
| + module.dll_base = ldr_data_table_entry.DllBase; |
| + module.timestamp = ldr_data_table_entry.TimeDateStamp; |
| process_info->modules_.push_back(module); |
| // Walk the PEB LDR structure (doubly-linked list) to get the list of loaded |
| @@ -168,9 +172,13 @@ bool ReadProcessData(HANDLE process, |
| &ldr_data_table_entry)) { |
| break; |
| } |
| - // TODO(scottmg): Capture TimeDateStamp, Checksum, etc. too? |
| - if (!ReadUnicodeString(process, ldr_data_table_entry.FullDllName, &module)) |
| + // TODO(scottmg): Capture Checksum, etc. too? |
| + if (!ReadUnicodeString( |
| + process, ldr_data_table_entry.FullDllName, &module.name)) { |
| break; |
| + } |
| + module.dll_base = ldr_data_table_entry.DllBase; |
| + module.timestamp = ldr_data_table_entry.TimeDateStamp; |
| process_info->modules_.push_back(module); |
| if (cur == last) |
| break; |
| @@ -179,6 +187,12 @@ bool ReadProcessData(HANDLE process, |
| return true; |
| } |
| +ProcessInfo::Module::Module() : name(), timestamp(0) { |
|
Mark Mentovai
2015/04/29 19:37:16
dll_base(0)
scottmg
2015/04/30 03:31:32
Done.
|
| +} |
| + |
| +ProcessInfo::Module::~Module() { |
| +} |
| + |
| ProcessInfo::ProcessInfo() |
| : process_id_(), |
| inherited_from_process_id_(), |
| @@ -309,7 +323,7 @@ bool ProcessInfo::CommandLine(std::wstring* command_line) const { |
| return true; |
| } |
| -bool ProcessInfo::Modules(std::vector<std::wstring>* modules) const { |
| +bool ProcessInfo::Modules(std::vector<Module>* modules) const { |
| INITIALIZATION_STATE_DCHECK_VALID(initialized_); |
| *modules = modules_; |
| return true; |