IDebugExpression2::EvaluateAsync
이 메서드는 식을 동시에 계산합니다.
구문
매개 변수
dwFlags
[in] 식 계산을 제어하는 EVALFLAGS 열거형의 플래그 조합입니다.
pExprCallback
[in] 이 매개 변수는 항상 null 값입니다.
Return Value
성공하면 S_OK
를 반환하고, 그러지 않으면 오류 코드를 반환합니다. 일반적인 오류 코드는 다음과 같습니다.
오류 | 설명 |
---|---|
E_EVALUATE_BUSY_WITH_EVALUATION | 현재 다른 식이 계산되고 있으며 동시 식 계산은 지원되지 않습니다. |
설명
이 메서드는 식 계산을 시작한 직후에 반환되어야 합니다. 식이 성공적으로 계산되면 연결 또는 연결을 통해 제공된 대로 IDebugExpressionEvaluationCompleteEvent2를 IDebugEventCallback2 이벤트 콜백으로 보내야 합니다.
예시
다음 예제에서는 IDebugExpression2인터페이스를 구현하는 간단한 CExpression
개체에 대해 이 메서드를 구현하는 방법을 보여 줍니다.
HRESULT CExpression::EvaluateAsync(EVALFLAGS dwFlags,
IDebugEventCallback2* pExprCallback)
{
// Set the aborted state to FALSE
// in case the user tries to redo the evaluation after aborting.
m_bAborted = FALSE;
// Post the WM_EVAL_EXPR message in the message queue of the current thread.
// This starts the expression evaluation on a background thread.
PostThreadMessage(GetCurrentThreadId(), WM_EVAL_EXPR, 0, (LPARAM) this);
return S_OK;
}