IDebugEngineLaunch2::LaunchSuspended
此方法通过调试引擎(DE)启动进程。
语法
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
);
参数
pszMachine
[in]要在其中启动进程的计算机的名称。 使用 null 值指定本地计算机。
pPort
[in] 表示程序将在其中运行的端口的 IDebugPort2 接口。
pszExe
[in]要启动的可执行文件的名称。
pszArgs
[in]要传递给可执行文件的参数。 如果没有参数,则为 null 值。
pszDir
[in]可执行文件使用的工作目录的名称。 如果不需要工作目录,则可为 null 值。
bstrEnv
[in]以 NULL 结尾的字符串的环境块,后跟一个额外的 NULL 终止符。
pszOptions
[in]可执行文件的选项。
dwLaunchFlags
[in]指定 会话的LAUNCH_FLAGS 。
hStdInput
[in]备用输入流的句柄。 如果不需要重定向,则为 0。
hStdOutput
[in]备用输出流的句柄。 如果不需要重定向,则为 0。
hStdError
[in]处理备用错误输出流。 如果不需要重定向,则为 0。
pCallback
[in] 接收调试器事件的 IDebugEventCallback2 对象。
ppDebugProcess
[out]返回表示启动进程的生成的 IDebugProcess2 对象。
返回值
如果成功,则返回 S_OK
;否则,返回错误代码。
备注
通常,Visual Studio 使用 LaunchSuspended 方法启动程序,然后将调试器附加到挂起的程序。 但是,在某些情况下,调试引擎可能需要启动程序(例如,如果调试引擎是解释器的一部分,并且所调试的程序是解释语言),在这种情况下,Visual Studio 使用 IDebugEngineLaunch2::LaunchSuspended
该方法。
调用 ResumeProcess 方法以在进程成功启动处于挂起状态后启动进程。