Debugging Tools for Windows |
The Evaluate and EvaluateWide methods evaluate an expression, returning the result.
HRESULT
IDebugControl::Evaluate(
IN PCSTR Expression
IN ULONG DesiredType
OUT PDEBUG_VALUE Value
OUT OPTIONAL PULONG RemainderIndex
);
HRESULT
IDebugControl4::EvaluateWide(
IN PCWSTR Expression,
IN ULONG DesiredType,
OUT PDEBUG_VALUE Value,
OUT OPTIONAL PULONG RemainderIndex
);
#ifdef UNICODE
#define EvaluateT EvaluateWide
#else
#define EvaluateT Evaluate
#endif
This method may also return other error values. See Return Values for more details.
Evaluate is available in all versions of IDebugControl. EvaluateWide is available in IDebugControl4 and later versions.
Expressions are evaluated by the current expression evaluator. The engine contains multiple expression evaluators; each supports a different syntax. The current expression evaluator can be chosen by using SetExpressionSyntax.
For details of the available expression evaluators and their syntaxes, see Numerical Expression Syntax.
If an error occurs while evaluating the expression, returning E_FAIL, the RemainderIndex variable can be used to determine approximately where in the expression the error occurred.
Headers: Defined in Dbgeng.h. Include Dbgeng.h.
GetExpressionSyntax, SetExpressionSyntax, SetExpressionSyntaxByName