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 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 typename Traits::Pointer Self; | 295 typename Traits::Pointer Self; |
296 }; | 296 }; |
297 | 297 |
298 // See https://msdn.microsoft.com/en-us/library/gg750647.aspx. | 298 // See https://msdn.microsoft.com/en-us/library/gg750647.aspx. |
299 template <class Traits> | 299 template <class Traits> |
300 struct CLIENT_ID { | 300 struct CLIENT_ID { |
301 typename Traits::Pointer UniqueProcess; | 301 typename Traits::Pointer UniqueProcess; |
302 typename Traits::Pointer UniqueThread; | 302 typename Traits::Pointer UniqueThread; |
303 }; | 303 }; |
304 | 304 |
| 305 // This is a partial definition of the TEB, as we do not currently use many |
| 306 // fields of it. See http://www.nirsoft.net/kernel_struct/vista/TEB.html. |
| 307 template <class Traits> |
| 308 struct TEB { |
| 309 NT_TIB<Traits> NtTib; |
| 310 typename Traits::Pointer EnvironmentPointer; |
| 311 CLIENT_ID<Traits> ClientId; |
| 312 }; |
| 313 |
305 // See https://msdn.microsoft.com/en-us/library/gg750724.aspx for the base | 314 // See https://msdn.microsoft.com/en-us/library/gg750724.aspx for the base |
306 // structure, and | 315 // structure, and |
307 // http://processhacker.sourceforge.net/doc/struct___s_y_s_t_e_m___e_x_t_e_n_d_e
_d___t_h_r_e_a_d___i_n_f_o_r_m_a_t_i_o_n.html | 316 // http://processhacker.sourceforge.net/doc/struct___s_y_s_t_e_m___e_x_t_e_n_d_e
_d___t_h_r_e_a_d___i_n_f_o_r_m_a_t_i_o_n.html |
308 // for the extension part. | 317 // for the extension part. |
309 template <class Traits> | 318 template <class Traits> |
310 struct SYSTEM_EXTENDED_THREAD_INFORMATION { | 319 struct SYSTEM_EXTENDED_THREAD_INFORMATION { |
311 LARGE_INTEGER KernelTime; | 320 LARGE_INTEGER KernelTime; |
312 LARGE_INTEGER UserTime; | 321 LARGE_INTEGER UserTime; |
313 LARGE_INTEGER CreateTime; | 322 LARGE_INTEGER CreateTime; |
314 union { | 323 union { |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
383 }; | 392 }; |
384 | 393 |
385 #pragma pack(pop) | 394 #pragma pack(pop) |
386 | 395 |
387 //! \} | 396 //! \} |
388 | 397 |
389 } // namespace process_types | 398 } // namespace process_types |
390 } // namespace crashpad | 399 } // namespace crashpad |
391 | 400 |
392 #endif // CRASHPAD_UTIL_WIN_PROCESS_STRUCTS_H_ | 401 #endif // CRASHPAD_UTIL_WIN_PROCESS_STRUCTS_H_ |
OLD | NEW |