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; |