Hizkuntza
Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Este método evalúa la expresión de forma asincrónica.
Sintaxis
Parámetros
dwFlags
[in] Combinación de marcas de la enumeración EVALFLAGS que controla la evaluación de expresiones.
pExprCallback
[in] Este parámetro siempre es un valor NULL.
Valor devuelto
Si la operación se realiza correctamente, devuelve S_OK; de lo contrario, devuelve un código de error. Un código de error típico es:
| Error | Descripción |
|---|---|
| E_EVALUATE_BUSY_WITH_EVALUATION | Actualmente no se admite otra expresión y no se admite la evaluación de expresiones simultáneas. |
Comentarios
Este método debe devolver inmediatamente después de iniciar la evaluación de expresiones. Cuando la expresión se evalúa correctamente, se debe enviar una devolución de llamada de evento IDebugExpressionEvaluationCompleteEvent2 a la devolución de llamada del evento IDebugEventCallback2 proporcionada a través de Attach o Attach.
Ejemplo
En el ejemplo siguiente se muestra cómo implementar este método para un objeto simple CExpression que implementa la interfaz 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;
}