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.