IDebugEngineLaunch2::LaunchSuspended
This method launches a process by means of the debug engine (DE).
Syntax
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 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 ResumeProcess method is called to start the process after the process has been successfully launched in a suspended state.