Exemplo n.º 1
0
 private static bool IsValidType(NdrExpressionType type)
 {
     switch (type)
     {
     case NdrExpressionType.FC_EXPR_OPER:
     case NdrExpressionType.FC_EXPR_CONST32:
     case NdrExpressionType.FC_EXPR_CONST64:
     case NdrExpressionType.FC_EXPR_VAR:
         return(true);
     }
     return(false);
 }
Exemplo n.º 2
0
 internal NdrConstantExpression(NdrExpressionType type, BinaryReader reader)
     : base(type)
 {
     Format = (NdrFormatCharacter)reader.ReadByte();
     Offset = reader.ReadInt16();
     if (type == NdrExpressionType.FC_EXPR_CONST32)
     {
         Value = reader.ReadInt32();
     }
     else
     {
         Value = reader.ReadInt64();
     }
     IsValid = true;
 }
Exemplo n.º 3
0
        internal static NdrExpression ReadExpression(BinaryReader reader)
        {
            NdrExpressionType type = (NdrExpressionType)reader.ReadByte();

            switch (type)
            {
            case NdrExpressionType.FC_EXPR_OPER:
                return(new NdrOperatorExpression(reader));

            case NdrExpressionType.FC_EXPR_CONST32:
            case NdrExpressionType.FC_EXPR_CONST64:
                return(new NdrConstantExpression(type, reader));

            case NdrExpressionType.FC_EXPR_VAR:
                return(new NdrVariableExpression(reader));

            default:
                break;
            }

            return(new NdrExpression());
        }
Exemplo n.º 4
0
 internal NdrExpression(NdrExpressionType type)
 {
     Type = type;
 }