Index: base/process/process_win.cc |
diff --git a/base/process/process_win.cc b/base/process/process_win.cc |
index 96556a9b1ee2f1a6b5202d628d89c96950d0029d..2c267aaa43f6fe29019ee0a911984d62b75d457a 100644 |
--- a/base/process/process_win.cc |
+++ b/base/process/process_win.cc |
@@ -9,6 +9,13 @@ |
#include "base/process/kill.h" |
#include "base/win/windows_version.h" |
+namespace { |
+ |
+DWORD kBasicProcessAccess = |
+ PROCESS_TERMINATE | PROCESS_QUERY_INFORMATION | SYNCHRONIZE; |
+ |
+} // namespace |
+ |
namespace base { |
Process::Process(ProcessHandle handle) |
@@ -40,6 +47,13 @@ Process Process::Current() { |
} |
// static |
+Process Process::OpenWithExtraPriviles(ProcessId pid) { |
+ DWORD access = kBasicProcessAccess | PROCESS_DUP_HANDLE | PROCESS_VM_READ; |
+ ProcessHandle handle = ::OpenProcess(access, FALSE, pid); |
+ return Process(handle); |
+} |
+ |
+// static |
Process Process::DeprecatedGetProcessFromHandle(ProcessHandle handle) { |
DCHECK_NE(handle, ::GetCurrentProcess()); |
ProcessHandle out_handle; |