IDebugEngineLaunch2::LaunchSuspended
Este método inicia um processo por meio do mecanismo de depuração (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
);
Parâmetros
pszMachine
[in] O nome da máquina na qual deseja iniciar o processo. Use um valor nulo para especificar a máquina local.pPort
[in] O IDebugPort2 interface que representa a porta que o programa será executado no.pszExe
[in] O nome do executável a ser iniciado.pszArgs
[in] Os argumentos para passar para o executável. Pode ser um valor nulo se não houver nenhum argumento.pszDir
[in] O nome do diretório de trabalho usado pelo executável. Pode ser um valor nulo se nenhum diretório de trabalho for necessário.bstrEnv
[in] Bloco de ambiente de seqüências de caracteres terminada por caractere nulo, seguido de um terminador NULL adicional.pszOptions
[in] As opções para o executável.dwLaunchFlags
[in] Especifica o LAUNCH_FLAGS para uma sessão.hStdInput
[in] Identificador para um fluxo de entrada alternativo. Pode ser 0 se o redirecionamento não é necessário.hStdOutput
[in] Identificador para um fluxo de saída alternativo. Pode ser 0 se o redirecionamento não é necessário.hStdError
[in] Identificador para um fluxo de saída de erro alternativo. Pode ser 0 se o redirecionamento não é necessário.pCallback
[in] O IDebugEventCallback2 o objeto que recebe eventos de depurador.ppDebugProcess
[out] Retorna o resultante IDebugProcess2 o objeto que representa o processo inic.
Valor de retorno
Se bem-sucedida, retorna S_OK; Caso contrário, retorna um código de erro.
Comentários
Normalmente, Visual Studio inicia um programa usando o IDebugPortEx2::LaunchSuspended método e, em seguida, anexa o depurador para o programa suspenso. No entanto, existem circunstâncias em que o mecanismo de depuração pode ser necessário iniciar um programa (por exemplo, se o mecanismo de depuração é parte de um intérprete e o programa que está sendo depurado é uma linguagem interpretada), caso em que Visual Studio usa o IDebugEngineLaunch2::LaunchSuspended método.
O IDebugEngineLaunch2::ResumeProcess método é chamado para iniciar o processo depois que o processo foi iniciado com êxito em um estado suspenso.