Debugging Tools for Windows

SetExpressionSyntax

The SetExpressionSyntax method sets the syntax that the engine will use to evaluate expressions.

HRESULT
  IDebugControl3::SetExpressionSyntax(
    IN ULONG  Flags
    );

Parameters

Flags
Specifies the syntax that the engine will use to evaluate expressions. It can be one of the following values:
DEBUG_EXPR_MASM
Expressions will be evaluated according to MASM syntax. For details of this syntax, see MASM Numbers and Operators.
DEBUG_EXPR_CPLUSPLUS
Expressions will be evaluated according to C++ syntax. For details of this syntax, see C++ Numbers and Operators.

Return Value

S_OK
The method was successful.

This method may also return error values. See Return Values for more details.

Interface Version

SetExpressionSyntax is available in IDebugControl3 and later versions.

Comments

The expression syntax is a global setting within the engine, so setting the expression syntax will affect all clients.

The expression syntax of the engine determines how the engine will interpret expressions passed to Evaluate, Execute, and any other method that evaluates an expression.

After the expression syntax has been changed, the engine sends out notification to the IDebugEventCallbacks registered with each client. It also passes the DEBUG_CES_EXPRESSION_SYNTAX flag to the IDebugEventCallbacks::ChangeEngineState method.

Requirements

Headers: Defined in Dbgeng.h. Include Dbgeng.h.

See Also

GetExpressionSyntax, SetExpressionSyntaxByName, Evaluate

Build machine: CAPEBUILD