Boost C++ Libraries

PrevUpHomeNext

Class win32_launcher

boost::process::win32_launcher — Generic implementation of the Launcher concept.

Synopsis

class win32_launcher : public boost::process::launcher {
public:
  // construct/copy/destruct
  win32_launcher(const STARTUPINFO * = NULL);

  // public member functions
  template<typename Command_Line> win32_child start(const Command_Line &) ;
};

Description

The launcher class implements the Launcher concept in an operating system agnostic way; it allows spawning new child process using a single and common interface across different systems.

win32_launcher construct/copy/destruct

  1. win32_launcher(const STARTUPINFO * si = NULL);

    Constructs a new Win32-specific launcher. If si is not a null pointer, the provided information is used to start the new process; otherwise the default settings are used (i.e. an empty STARTUPINFO object).

    Requires:

    The si object cb field must be equal to or greater than sizeof(STARTUPINFO).

    The si object cannot have the STARTF_USESTDHANDLES flag set in the dwFlags field because the communication handles are initialized by the launcher.

win32_launcher public member functions

  1. template<typename Command_Line> win32_child start(const Command_Line & cl) ;

    Given a command line cl, starts a new process with all the parameters configured in the launcher. The launcher can be reused afterwards to launch other different command lines.

    Blocking remarks: This function may block if the device holding the command line's executable blocks when loading the image. This might happen if, e.g., the binary is being loaded from a network share.

    Returns:

    A handle to the new child process.

Copyright © 2006 Julio M. Merino Vidal

PrevUpHomeNext