The default rule is located at index -1.  All subsequent rules inherent properties from the default rule.
If no argument is passed, then RuleClass returns the next empty new rule in the list.
      
    
            
<DllImport(uCalcDLL, CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.Cdecl, EntryPoint:="Rule")> _
Private Function Rule__(ByVal TransformHandle As IntPtr, ByVal Index As Int32  ) As IntPtr
End Function
            
          
        
            
[DllImport(uCalcDLL, CharSet=CharSet.Ansi, CallingConvention=CallingConvention.Cdecl, EntryPoint="Rule")]
protected static extern IntPtr Rule_(IntPtr TransformHandle,  Int32 Index  );
            
          
        
            
{DLLImport}function Rule__(TransformHandle: System.Pointer; Index: Int32): System.Pointer; cdecl; external uCalcDLL name 'Rule';
            
          
        
            
typedef uCalcPtr (* __Rule)(void *TransformHandle,  int32_t Index  ); 
            
          
        
            
[DllImport(uCalcLib, CharSet=CharSet::Ansi, CallingConvention=CallingConvention::Cdecl, EntryPoint = "Rule")]
static uCalcPtr Rule_(void *  TransformHandle,  Int32 Index);