1 // Copyright 2016 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 #ifndef REMOTING_HOST_WIN_LAUNCH_NATIVE_MESSAGING_HOST_PROCESS_H_ 6 #define REMOTING_HOST_WIN_LAUNCH_NATIVE_MESSAGING_HOST_PROCESS_H_ 7 8 #include <cstdint> 9 10 #include "base/win/scoped_handle.h" 11 12 namespace base { 13 class FilePath; 14 } // namespace base 15 16 namespace remoting { 17 18 enum ProcessLaunchResult { 19 PROCESS_LAUNCH_RESULT_SUCCESS, 20 PROCESS_LAUNCH_RESULT_CANCELLED, 21 PROCESS_LAUNCH_RESULT_FAILED, 22 }; 23 24 // Launches the executable at |binary_path| using the parameters passed in. 25 // If the process is launched successfully, |read_handle| and |write_handle| are 26 // valid for I/O and the function returns PROCESS_LAUNCH_RESULT_SUCCESS. 27 ProcessLaunchResult LaunchNativeMessagingHostProcess( 28 const base::FilePath& binary_path, 29 intptr_t parent_window_handle, 30 bool elevate_process, 31 base::win::ScopedHandle* read_handle, 32 base::win::ScopedHandle* write_handle); 33 34 } // namespace remoting 35 36 #endif // REMOTING_HOST_WIN_LAUNCH_NATIVE_MESSAGING_HOST_PROCESS_H_