Share via


IDebugExpression2::EvaluateAsync

이 메서드는 식을 동시에 계산합니다.

구문

int EvaluateAsync(
    enum_EVALFLAGS       dwFlags,
    IDebugEventCallback2 pExprCallback
);

매개 변수

dwFlags
[in] 식 계산을 제어하는 EVALFLAGS 열거형의 플래그 조합입니다.

pExprCallback
[in] 이 매개 변수는 항상 null 값입니다.

Return Value

성공하면 S_OK를 반환하고, 그러지 않으면 오류 코드를 반환합니다. 일반적인 오류 코드는 다음과 같습니다.

오류 설명
E_EVALUATE_BUSY_WITH_EVALUATION 현재 다른 식이 계산되고 있으며 동시 식 계산은 지원되지 않습니다.

설명

이 메서드는 식 계산을 시작한 직후에 반환되어야 합니다. 식이 성공적으로 계산되면 연결 또는 연결을 통해 제공된 대로 IDebugExpressionEvaluationCompleteEvent2IDebugEventCallback2 이벤트 콜백으로 보내야 합니다.

예시

다음 예제에서는 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;
}

참고 항목