共用方式為


IDebugExpression2::EvaluateAsync

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

這個方法會以非同步方式評估運算式。

語法

HRESULT EvaluateAsync (   
   EVALFLAGS             dwFlags,  
   IDebugEventCallback2* pExprCallback  
);  
int EvaluateAsync(  
   enum_EVALFLAGS       dwFlags,   
   IDebugEventCallback2 pExprCallback  
);  

參數

dwFlags
[in]從旗標的組合EVALFLAGS控制運算式評估的列舉型別。

pExprCallback
[in]這個參數永遠是 null 值。

傳回值

如果成功,傳回S_OK; 否則會傳回錯誤碼。 常見的錯誤程式碼是︰

錯誤 描述
E_EVALUATE_BUSY_WITH_EVALUATION 另一個運算式目前正在評估,並不支援同時運算式評估。

備註

這個方法應該會開始運算式評估之後,立即傳回。 當成功評估運算式時, IDebugExpressionEvaluationCompleteEvent2必須傳送至IDebugEventCallback2事件回呼提供透過附加附加

範例

下列範例示範如何實作這種簡單的方式CExpression實作物件IDebugExpression2介面。

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;  
}  

另請參閱

IDebugExpression2
IDebugExpressionEvaluationCompleteEvent2
EVALFLAGS
IDebugEventCallback2