IDebugExpression2::EvaluateAsync
這個方法會以異步方式評估表達式。
語法
參數
dwFlags
[in]控制表達式評估之 EVALFLAGS 列舉中的旗標組合。
pExprCallback
[in]此參數一律為 Null 值。
傳回值
如果成功,則會傳回 S_OK
;否則會傳回錯誤碼。 典型的錯誤碼為:
錯誤 | 描述 |
---|---|
E_EVALUATE_BUSY_WITH_EVALUATION | 目前正在評估另一個表達式,而且不支援同時評估表達式。 |
備註
這個方法應該會在啟動表達式評估之後立即傳回。 成功評估表達式時,必須將 IDebugExpressionEvaluationCompleteEvent2 傳送至透過 Attach 或 Attach 提供的 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;
}