public static DkmSuccessEvaluationResult EvaluateSuccess(DkmVisualizedExpression expr, DkmEvaluationFlags flags, string text, DkmDataItem data)
        {
            DkmEvaluationResult result = Evaluate(expr, flags, text, data);
              if (result.TagValue != DkmEvaluationResult.Tag.SuccessResult)
            throw new EvaluationException(result);

              return (DkmSuccessEvaluationResult)result;
        }
        public static DkmEvaluationResult Evaluate(DkmVisualizedExpression expr, DkmEvaluationFlags flags, string text, DkmDataItem data)
        {
            using (DkmLanguageExpression vexpr = DkmLanguageExpression.Create(CppLanguage, flags, text, data))
              {
            DkmEvaluationResult result = null;
            expr.EvaluateExpressionCallback(expr.InspectionContext, vexpr, expr.StackFrame, out result);

            return result;
              }
        }