diff options
author | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-30 08:59:39 +0000 |
---|---|---|
committer | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-30 08:59:39 +0000 |
commit | 5d438dbad8819250385df8c0c67ff26a8586db90 (patch) | |
tree | e92c79a19a64264e7c0bede469eaa6d91af120af /base/process_util_win.cc | |
parent | 264e3cd23191c41de8310c60d981be159f65038a (diff) | |
download | chromium_src-5d438dbad8819250385df8c0c67ff26a8586db90.zip chromium_src-5d438dbad8819250385df8c0c67ff26a8586db90.tar.gz chromium_src-5d438dbad8819250385df8c0c67ff26a8586db90.tar.bz2 |
Make task_manager_resource_providers.cc compile on POSIX.
TEST=Make sure that the task manager isn't obviously broken on Windows.
Review URL: http://codereview.chromium.org/93067
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14934 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/process_util_win.cc')
-rw-r--r-- | base/process_util_win.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/base/process_util_win.cc b/base/process_util_win.cc index 45a23e8..265c26f 100644 --- a/base/process_util_win.cc +++ b/base/process_util_win.cc @@ -34,6 +34,7 @@ ProcessHandle GetCurrentProcessHandle() { } bool OpenProcessHandle(ProcessId pid, ProcessHandle* handle) { + // TODO(phajdan.jr): Take even more permissions out of this list. ProcessHandle result = OpenProcess(PROCESS_DUP_HANDLE | PROCESS_TERMINATE | PROCESS_QUERY_INFORMATION | @@ -47,6 +48,21 @@ bool OpenProcessHandle(ProcessId pid, ProcessHandle* handle) { return true; } +bool OpenPrivilegedProcessHandle(ProcessId pid, ProcessHandle* handle) { + ProcessHandle result = OpenProcess(PROCESS_DUP_HANDLE | + PROCESS_TERMINATE | + PROCESS_QUERY_INFORMATION | + PROCESS_VM_READ | + SYNCHRONIZE, + FALSE, pid); + + if (result == INVALID_HANDLE_VALUE) + return false; + + *handle = result; + return true; +} + void CloseProcessHandle(ProcessHandle process) { CloseHandle(process); } |