OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef SANDBOX_WIN_SRC_TARGET_PROCESS_H_ | 5 #ifndef SANDBOX_WIN_SRC_TARGET_PROCESS_H_ |
6 #define SANDBOX_WIN_SRC_TARGET_PROCESS_H_ | 6 #define SANDBOX_WIN_SRC_TARGET_PROCESS_H_ |
7 | 7 |
8 #include <windows.h> | 8 #include <windows.h> |
9 #include <stddef.h> | 9 #include <stddef.h> |
10 #include <stdint.h> | 10 #include <stdint.h> |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 ~TargetProcess(); | 46 ~TargetProcess(); |
47 | 47 |
48 // TODO(cpu): Currently there does not seem to be a reason to implement | 48 // TODO(cpu): Currently there does not seem to be a reason to implement |
49 // reference counting for this class since is internal, but kept the | 49 // reference counting for this class since is internal, but kept the |
50 // the same interface so the interception framework does not need to be | 50 // the same interface so the interception framework does not need to be |
51 // touched at this point. | 51 // touched at this point. |
52 void AddRef() {} | 52 void AddRef() {} |
53 void Release() {} | 53 void Release() {} |
54 | 54 |
55 // Creates the new target process. The process is created suspended. | 55 // Creates the new target process. The process is created suspended. |
56 DWORD Create(const wchar_t* exe_path, | 56 ResultCode Create(const wchar_t* exe_path, |
57 const wchar_t* command_line, | 57 const wchar_t* command_line, |
58 bool inherit_handles, | 58 bool inherit_handles, |
59 const base::win::StartupInformation& startup_info, | 59 const base::win::StartupInformation& startup_info, |
60 base::win::ScopedProcessInformation* target_info); | 60 base::win::ScopedProcessInformation* target_info, |
| 61 DWORD* win_error); |
61 | 62 |
62 // Destroys the target process. | 63 // Destroys the target process. |
63 void Terminate(); | 64 void Terminate(); |
64 | 65 |
65 // Creates the IPC objects such as the BrokerDispatcher and the | 66 // Creates the IPC objects such as the BrokerDispatcher and the |
66 // IPC server. The IPC server uses the services of the thread_pool. | 67 // IPC server. The IPC server uses the services of the thread_pool. |
67 DWORD Init(Dispatcher* ipc_dispatcher, | 68 ResultCode Init(Dispatcher* ipc_dispatcher, |
68 void* policy, | 69 void* policy, |
69 uint32_t shared_IPC_size, | 70 uint32_t shared_IPC_size, |
70 uint32_t shared_policy_size); | 71 uint32_t shared_policy_size, |
| 72 DWORD* win_error); |
71 | 73 |
72 // Returns the handle to the target process. | 74 // Returns the handle to the target process. |
73 HANDLE Process() const { | 75 HANDLE Process() const { |
74 return sandbox_process_info_.process_handle(); | 76 return sandbox_process_info_.process_handle(); |
75 } | 77 } |
76 | 78 |
77 // Returns the handle to the job object that the target process belongs to. | 79 // Returns the handle to the job object that the target process belongs to. |
78 HANDLE Job() const { | 80 HANDLE Job() const { |
79 return job_; | 81 return job_; |
80 } | 82 } |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 }; | 138 }; |
137 | 139 |
138 // Creates a mock TargetProcess used for testing interceptions. | 140 // Creates a mock TargetProcess used for testing interceptions. |
139 // TODO(cpu): It seems that this method is not going to be used anymore. | 141 // TODO(cpu): It seems that this method is not going to be used anymore. |
140 TargetProcess* MakeTestTargetProcess(HANDLE process, HMODULE base_address); | 142 TargetProcess* MakeTestTargetProcess(HANDLE process, HMODULE base_address); |
141 | 143 |
142 | 144 |
143 } // namespace sandbox | 145 } // namespace sandbox |
144 | 146 |
145 #endif // SANDBOX_WIN_SRC_TARGET_PROCESS_H_ | 147 #endif // SANDBOX_WIN_SRC_TARGET_PROCESS_H_ |
OLD | NEW |