IDebugEngineProgram2::WatchForExpressionEvaluationOnThread
Permite (ou não) a avaliação da expressão para ocorrer em determinado segmento, mesmo se o programa foi interrompido.
HRESULT WatchForExpressionEvaluationOnThread(
IDebugProgram2* pOriginatingProgram,
DWORD dwTid,
DWORD dwEvalFlags,
IDebugEventCallback2* pExprCallback,
BOOL fWatch
);
int WatchForExpressionEvaluationOnThread(
IDebugProgram2 pOriginatingProgram,
uint dwTid,
uint dwEvalFlags,
IDebugEventCallback2 pExprCallback,
int fWatch
);
Parâmetros
pOriginatingProgram
[in] Um IDebugProgram2 objeto que representa o programa que está avaliando uma expressão.dwTid
[in] Especifica o identificador do segmento.dwEvalFlags
[in] Uma combinação de sinalizadores da EVALFLAGS enumeração que especificam como a avaliação deve ser executada.pExprCallback
[in] Um IDebugEventCallback2 objeto a ser usado para enviar eventos de depuração que ocorrem durante a avaliação da expressão.fWatch
[in] Se diferente de zero (TRUE), permite a avaliação da expressão no thread identificado por dwTid; Caso contrário, zero (FALSE) não permite a avaliação da expressão neste thread.
Valor de retorno
Se bem-sucedida, retorna S_OK; Caso contrário, retorna um código de erro.
Comentários
Quando o Gerenciador de sessão de depuração (SDM) pergunta a um programa, identificado pela pOriginatingProgram parâmetro, para avaliar uma expressão, ele notifica todos os outros programas anexados ao chamar esse método.
A avaliação da expressão em um programa pode fazer com que o código seja executado em outra, devido a avaliação da função ou avaliação de qualquer IDispatch propriedades. Dessa forma, este método permite a avaliação da expressão executar e concluir o mesmo que o thread pode ser interrompido neste programa.