Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Methode wertet den Ausdruck asynchron aus.
Syntax
Parameter
dwFlags
[in] Eine Kombination von Flags aus der EVALFLAGS-Aufzählung , die die Auswertung von Ausdrücken steuert.
pExprCallback
[in] Dieser Parameter ist immer ein Nullwert.
Rückgabewert
Wenn die Ausführung erfolgreich ist, wird S_OK zurückgegeben, andernfalls ein Fehlercode. Ein typischer Fehlercode ist:
| Error | Beschreibung |
|---|---|
| E_EVALUATE_BUSY_WITH_EVALUATION | Ein anderer Ausdruck wird derzeit ausgewertet, und die gleichzeitige Ausdrucksauswertung wird nicht unterstützt. |
Hinweise
Diese Methode sollte unmittelbar nach dem Starten der Ausdrucksauswertung zurückgegeben werden. Wenn der Ausdruck erfolgreich ausgewertet wird, muss ein IDebugExpressionEvaluationCompleteEvent2 an den IDebugEventCallback2-Ereignisrückruf gesendet werden, wie über Attach oder Attach bereitgestellt.
Beispiel
Das folgende Beispiel zeigt, wie Sie diese Methode für ein einfaches CExpression Objekt implementieren, das die IDebugExpression2-Schnittstelle implementiert.
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;
}