OLD | NEW |
1 // Copyright 2015 The Crashpad Authors. All rights reserved. | 1 // Copyright 2015 The Crashpad Authors. All rights reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 bool CommandLine(std::wstring* command_line) const; | 79 bool CommandLine(std::wstring* command_line) const; |
80 | 80 |
81 //! \brief Retrieves the modules loaded into the target process. | 81 //! \brief Retrieves the modules loaded into the target process. |
82 //! | 82 //! |
83 //! The modules are enumerated in initialization order as detailed in the | 83 //! The modules are enumerated in initialization order as detailed in the |
84 //! Process Environment Block. The main executable will always be the | 84 //! Process Environment Block. The main executable will always be the |
85 //! first element. | 85 //! first element. |
86 bool Modules(std::vector<Module>* modules) const; | 86 bool Modules(std::vector<Module>* modules) const; |
87 | 87 |
88 private: | 88 private: |
89 template <class T> | 89 template <class Traits> |
| 90 friend bool GetProcessBasicInformation(HANDLE process, |
| 91 bool is_wow64, |
| 92 ProcessInfo* process_info, |
| 93 WinVMAddress* peb_address); |
| 94 template <class Traits> |
90 friend bool ReadProcessData(HANDLE process, | 95 friend bool ReadProcessData(HANDLE process, |
91 WinVMAddress peb_address_vmaddr, | 96 WinVMAddress peb_address_vmaddr, |
92 ProcessInfo* process_info); | 97 ProcessInfo* process_info); |
93 | 98 |
94 pid_t process_id_; | 99 pid_t process_id_; |
95 pid_t inherited_from_process_id_; | 100 pid_t inherited_from_process_id_; |
96 std::wstring command_line_; | 101 std::wstring command_line_; |
97 std::vector<Module> modules_; | 102 std::vector<Module> modules_; |
98 bool is_64_bit_; | 103 bool is_64_bit_; |
99 bool is_wow64_; | 104 bool is_wow64_; |
100 InitializationStateDcheck initialized_; | 105 InitializationStateDcheck initialized_; |
101 | 106 |
102 DISALLOW_COPY_AND_ASSIGN(ProcessInfo); | 107 DISALLOW_COPY_AND_ASSIGN(ProcessInfo); |
103 }; | 108 }; |
104 | 109 |
105 } // namespace crashpad | 110 } // namespace crashpad |
106 | 111 |
107 #endif // CRASHPAD_UTIL_WIN_PROCESS_INFO_H_ | 112 #endif // CRASHPAD_UTIL_WIN_PROCESS_INFO_H_ |
OLD | NEW |