OLD | NEW |
| (Empty) |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/task_manager/os_resource_win.h" | |
6 | |
7 namespace task_manager { | |
8 | |
9 void GetWinGDIHandles(base::ProcessHandle process, | |
10 size_t* current, | |
11 size_t* peak) { | |
12 *current = 0; | |
13 *peak = 0; | |
14 // Get a handle to |process| that has PROCESS_QUERY_INFORMATION rights. | |
15 HANDLE current_process = GetCurrentProcess(); | |
16 HANDLE process_with_query_rights; | |
17 if (DuplicateHandle(current_process, process, current_process, | |
18 &process_with_query_rights, PROCESS_QUERY_INFORMATION, | |
19 false, 0)) { | |
20 *current = GetGuiResources(process_with_query_rights, GR_GDIOBJECTS); | |
21 *peak = GetGuiResources(process_with_query_rights, GR_GDIOBJECTS_PEAK); | |
22 CloseHandle(process_with_query_rights); | |
23 } | |
24 } | |
25 | |
26 void GetWinUSERHandles(base::ProcessHandle process, | |
27 size_t* current, | |
28 size_t* peak) { | |
29 *current = 0; | |
30 *peak = 0; | |
31 // Get a handle to |process| that has PROCESS_QUERY_INFORMATION rights. | |
32 HANDLE current_process = GetCurrentProcess(); | |
33 HANDLE process_with_query_rights; | |
34 if (DuplicateHandle(current_process, process, current_process, | |
35 &process_with_query_rights, PROCESS_QUERY_INFORMATION, | |
36 false, 0)) { | |
37 *current = GetGuiResources(process_with_query_rights, GR_USEROBJECTS); | |
38 *peak = GetGuiResources(process_with_query_rights, GR_USEROBJECTS_PEAK); | |
39 CloseHandle(process_with_query_rights); | |
40 } | |
41 } | |
42 | |
43 } // namespace task_manager | |
OLD | NEW |