IDebugParsedExpression::EvaluateSync

This method evaluates the parsed expression and optionally casts the result to another data type.

HRESULT EvaluateSync( 
   DWORD                 dwEvalFlags,
   DWORD                 dwTimeout,
   IDebugSymbolProvider* pSymbolProvider,
   IDebugAddress*        pAddress,
   IDebugBinder*         pBinder,
   BSTR                  bstrResultType,
   IDebugProperty2**     ppResult
);
int EvaluateSync(
   uint                 dwEvalFlags, 
   uint                 dwTimeout, 
   IDebugSymbolProvider pSymbolProvider, 
   IDebugAddress        pAddress, 
   IDebugBinder         pBinder, 
   string               bstrResultType, 
   out IDebugProperty2  ppResult
);

Parameters

  • dwEvalFlags
    [in] A combination of EVALFLAGS constants that control how the expression is to be evaluated.

  • dwTimeout
    [in] Specifies the maximum time, in milliseconds, to wait before returning from this method. Use INFINITE to wait indefinitely.

  • pSymbolProvider
    [in] The symbol provider, expressed as an IDebugSymbolProvider interface.

  • pAddress
    [in] The current execution location within a method, expressed as an IDebugAddress interface.

  • pBinder
    [in] The binder, expressed as an IDebugBinder interface.

  • bstrResultType
    [in] The type the result should be cast to. This argument can be a null value.

  • ppResult
    [out] Returns the IDebugProperty2 interface that represents the results of evaluation.

Return Value

If successful, returns S_OK; otherwise, returns an error code.

Remarks

The expression evaluation context is given by pAddress, which makes it possible to determine the containing method and then use language scoping rules to determine the value of the symbols in the expression.

See Also

Reference

IDebugSymbolProvider

IDebugBinder

IDebugAddress

IDebugProperty2

IDebugParsedExpression