IDebugEngineLaunch2::LaunchSuspended

This method launches a process by means of the debug engine (DE).

HRESULT LaunchSuspended ( 
   LPCOLESTR             pszMachine,
   IDebugPort2*          pPort,
   LPCOLESTR             pszExe,
   LPCOLESTR             pszArgs,
   LPCOLESTR             pszDir,
   BSTR                  bstrEnv,
   LPCOLESTR             pszOptions,
   LAUNCH_FLAGS          dwLaunchFlags,
   DWORD                 hStdInput,
   DWORD                 hStdOutput,
   DWORD                 hStdError,
   IDebugEventCallback2* pCallback,
   IDebugProcess2**      ppDebugProcess
);
int LaunchSuspended(
   string               pszServer, 
   IDebugPort2          pPort, 
   string               pszExe, 
   string               pszArgs, 
   string               pszDir, 
   string               bstrEnv, 
   string               pszOptions, 
   enum_LAUNCH_FLAGS    dwLaunchFlags, 
   uint                 hStdInput, 
   uint                 hStdOutput, 
   uint                 hStdError,
   IDebugEventCallback2 pCallback, 
   out IDebugProcess2   ppProcess
);

Parameters

  • pszMachine
    [in] The name of the machine in which to launch the process. Use a null value to specify the local machine.

  • pPort
    [in] The IDebugPort2 interface representing the port that the program will run in.

  • pszExe
    [in] The name of the executable to be launched.

  • pszArgs
    [in] The arguments to pass to the executable. May be a null value if there are no arguments.

  • pszDir
    [in] The name of the working directory used by the executable. May be a null value if no working directory is required.

  • bstrEnv
    [in] Environment block of NULL-terminated strings, followed by an additional NULL terminator.

  • pszOptions
    [in] The options for the executable.

  • dwLaunchFlags
    [in] Specifies the LAUNCH_FLAGS for a session.

  • hStdInput
    [in] Handle to an alternate input stream. May be 0 if redirection is not required.

  • hStdOutput
    [in] Handle to an alternate output stream. May be 0 if redirection is not required.

  • hStdError
    [in] Handle to an alternate error output stream. May be 0 if redirection is not required.

  • pCallback
    [in] The IDebugEventCallback2 object that receives debugger events.

  • ppDebugProcess
    [out] Returns the resulting IDebugProcess2 object that represents the launched process.

Return Value

If successful, returns S_OK; otherwise, returns an error code.

Remarks

Normally, Visual Studio launches a program using the IDebugPortEx2::LaunchSuspended method and then attaches the debugger to the suspended program. However, there are circumstances in which the debug engine may need to launch a program (for example, if the debug engine is part of an interpreter and the program being debugged is an interpreted language), in which case Visual Studio uses the IDebugEngineLaunch2::LaunchSuspended method.

The IDebugEngineLaunch2::ResumeProcess method is called to start the process after the process has been successfully launched in a suspended state.

See Also

Reference

IDebugEngineLaunch2

IDebugPort2

LAUNCH_FLAGS

IDebugEventCallback2

IDebugProcess2

IDebugPortEx2::LaunchSuspended

IDebugEngineLaunch2::ResumeProcess