{
  "Path": "C:\\Users\\dohertj2\\Desktop\\histsdk\\current\\aahClientManaged.dll",
  "Filter": "ArchestrA.HistoryQuery.StartQuery",
  "IsILOnly": false,
  "IsMixedMode": true,
  "Methods": [
    {
      "DeclaringType": "ArchestrA.HistoryQuery",
      "Name": {
        "String": "StartQuery",
        "Data": "U3RhcnRRdWVyeQ==",
        "Length": 10,
        "DataLength": 10
      },
      "Token": "0x060062A1",
      "Rva": "0x0044012C",
      "IsStatic": false,
      "IsPublic": true,
      "HasBody": true,
      "InstructionCount": 426,
      "Calls": [
        {
          "Offset": "0x0002",
          "OpCode": "call",
          "Operand": "HistorianClient* ArchestrA.BaseQuery::GetClient(ArchestrA.HistorianAccessError\u0026)",
          "Token": "0x060061B5"
        },
        {
          "Offset": "0x000F",
          "OpCode": "call",
          "Operand": "System.Boolean ArchestrA.HistoryQuery::EndQuery(ArchestrA.HistorianAccessError\u0026)",
          "Token": "0x060062A3"
        },
        {
          "Offset": "0x0054",
          "OpCode": "calli",
          "Operand": "System.Byte modopt(System.Runtime.CompilerServices.CompilerMarshalOverride) modopt(System.Runtime.CompilerServices.CallConvCdecl) (System.IntPtr,System.UInt32 modopt(System.Runtime.CompilerServices.IsLong),System.Boolean* modopt(System.Runtime.CompilerServices.IsImplicitlyDereferenced),SError* modopt(System.Runtime.CompilerServices.IsImplicitlyDereferenced))",
          "Token": null
        },
        {
          "Offset": "0x00B1",
          "OpCode": "callvirt",
          "Operand": "System.Boolean ArchestrA.HistoryQueryArgs::ProcessQueryArgs(ArchestrA.HistorianAccessError\u0026)",
          "Token": "0x06006246"
        },
        {
          "Offset": "0x00C7",
          "OpCode": "call",
          "Operand": "System.String ArchestrA.HistoryQueryArgs::get_Option()",
          "Token": "0x06006251"
        },
        {
          "Offset": "0x00D1",
          "OpCode": "call",
          "Operand": "System.Int32 \u003CModule\u003E::ArchestrA.ConvertHelper.ManagedToUnmanagedString(System.String,System.UInt64,System.Char*)",
          "Token": "0x06005823"
        },
        {
          "Offset": "0x00F3",
          "OpCode": "call",
          "Operand": "System.String ArchestrA.HistoryQueryArgs::get_Filter()",
          "Token": "0x06006257"
        },
        {
          "Offset": "0x00FD",
          "OpCode": "call",
          "Operand": "System.Int32 \u003CModule\u003E::ArchestrA.ConvertHelper.ManagedToUnmanagedString(System.String,System.UInt64,System.Char*)",
          "Token": "0x06005823"
        },
        {
          "Offset": "0x0116",
          "OpCode": "call",
          "Operand": "System.Collections.Specialized.StringCollection ArchestrA.BaseQueryArgs::get_TagNames()",
          "Token": "0x060061B7"
        },
        {
          "Offset": "0x011B",
          "OpCode": "callvirt",
          "Operand": "System.Int32 System.Collections.Specialized.StringCollection::get_Count()",
          "Token": "0x0A00041C"
        },
        {
          "Offset": "0x013B",
          "OpCode": "call",
          "Operand": "System.Void modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::std.vector\u003Cwchar_t *,std::allocator\u003Cwchar_t *\u003E \u003E.reserve(std.vector\u003Cwchar_t *,std::allocator\u003Cwchar_t *\u003E \u003E* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst),System.UInt64 modopt(System.Runtime.CompilerServices.IsConst))",
          "Token": "0x06005856"
        },
        {
          "Offset": "0x014A",
          "OpCode": "call",
          "Operand": "System.Void \u003CModule\u003E::___CxxCallUnwindDtor(System.Void (System.Void*),System.Void*)",
          "Token": "0x06005C0F"
        },
        {
          "Offset": "0x0152",
          "OpCode": "call",
          "Operand": "System.Collections.Specialized.StringCollection ArchestrA.BaseQueryArgs::get_TagNames()",
          "Token": "0x060061B7"
        },
        {
          "Offset": "0x015A",
          "OpCode": "call",
          "Operand": "System.Boolean \u003CModule\u003E::ArchestrA.ConvertHelper.ManagedToUnmanagedStrings(System.Collections.Specialized.StringCollection,stx.tsarray* modopt(System.Runtime.CompilerServices.IsImplicitlyDereferenced),ArchestrA.HistorianAccessError\u0026)",
          "Token": "0x06005825"
        },
        {
          "Offset": "0x016A",
          "OpCode": "call",
          "Operand": "QueryColumnSelector* modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::QueryColumnSelector.{ctor}(QueryColumnSelector* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst))",
          "Token": "0x06000041"
        },
        {
          "Offset": "0x0174",
          "OpCode": "call",
          "Operand": "System.Void ArchestrA.HistoryQuery::SelectQueryColumns(ArchestrA.HistoryQueryArgs,QueryColumnSelector* modopt(System.Runtime.CompilerServices.IsImplicitlyDereferenced))",
          "Token": "0x0600629C"
        },
        {
          "Offset": "0x017B",
          "OpCode": "call",
          "Operand": "SMemFile\u003CSCrtAllocator\u003E* modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::SMemFile\u003CSCrtAllocator\u003E.{ctor}(SMemFile\u003CSCrtAllocator\u003E* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst))",
          "Token": "0x060011DE"
        },
        {
          "Offset": "0x0193",
          "OpCode": "call",
          "Operand": "System.Void \u003CModule\u003E::___CxxCallUnwindDtor(System.Void (System.Void*),System.Void*)",
          "Token": "0x06005C0F"
        },
        {
          "Offset": "0x01A8",
          "OpCode": "call",
          "Operand": "System.Void modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::SMemFile\u003CSCrtAllocator\u003E.SaveEx(SMemFile\u003CSCrtAllocator\u003E* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst),System.Void modopt(System.Runtime.CompilerServices.IsConst)*,System.UInt64)",
          "Token": "0x06000801"
        },
        {
          "Offset": "0x01B4",
          "OpCode": "call",
          "Operand": "System.Void modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::SMemFile\u003CSCrtAllocator\u003E.SaveEx(SMemFile\u003CSCrtAllocator\u003E* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst),System.Void modopt(System.Runtime.CompilerServices.IsConst)*,System.UInt64)",
          "Token": "0x06000801"
        },
        {
          "Offset": "0x01C4",
          "OpCode": "calli",
          "Operand": "SByteStream\u003CSCrtMemFile\u003E* modopt(System.Runtime.CompilerServices.IsImplicitlyDereferenced) modopt(System.Runtime.CompilerServices.CallConvCdecl) (SByteStream\u003CSCrtMemFile\u003E* modopt(System.Runtime.CompilerServices.IsImplicitlyDereferenced))",
          "Token": null
        },
        {
          "Offset": "0x0210",
          "OpCode": "call",
          "Operand": "System.DateTime ArchestrA.BaseQueryArgs::get_EndDateTime()",
          "Token": "0x060061BB"
        },
        {
          "Offset": "0x0219",
          "OpCode": "call",
          "Operand": "System.DateTime System.DateTime::ToUniversalTime()",
          "Token": "0x0A00040D"
        },
        {
          "Offset": "0x0221",
          "OpCode": "call",
          "Operand": "System.DateTime ArchestrA.BaseQueryArgs::get_StartDateTime()",
          "Token": "0x060061B9"
        },
        {
          "Offset": "0x022A",
          "OpCode": "call",
          "Operand": "System.DateTime System.DateTime::ToUniversalTime()",
          "Token": "0x0A00040D"
        },
        {
          "Offset": "0x023D",
          "OpCode": "calli",
          "Operand": "System.Byte modopt(System.Runtime.CompilerServices.IsConst)* modopt(System.Runtime.CompilerServices.CallConvCdecl) (System.IntPtr)",
          "Token": null
        },
        {
          "Offset": "0x0250",
          "OpCode": "call",
          "Operand": "ArchestrA.HistorianRetrievalMode ArchestrA.BaseQueryArgs::get_RetrievalMode()",
          "Token": "0x060061BD"
        },
        {
          "Offset": "0x0258",
          "OpCode": "call",
          "Operand": "System.Collections.Specialized.StringCollection ArchestrA.BaseQueryArgs::get_TagNames()",
          "Token": "0x060061B7"
        },
        {
          "Offset": "0x025D",
          "OpCode": "callvirt",
          "Operand": "System.Int32 System.Collections.Specialized.StringCollection::get_Count()",
          "Token": "0x0A00041C"
        },
        {
          "Offset": "0x0264",
          "OpCode": "call",
          "Operand": "System.Char modopt(System.Runtime.CompilerServices.IsConst)* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst)* modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::stx.tsarray.get(stx.tsarray modopt(System.Runtime.CompilerServices.IsConst)* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst))",
          "Token": "0x060057EA"
        },
        {
          "Offset": "0x026E",
          "OpCode": "call",
          "Operand": "System.Int64 System.DateTime::ToFileTime()",
          "Token": "0x0A00040C"
        },
        {
          "Offset": "0x0275",
          "OpCode": "call",
          "Operand": "System.Int64 System.DateTime::ToFileTime()",
          "Token": "0x0A00040C"
        },
        {
          "Offset": "0x027B",
          "OpCode": "call",
          "Operand": "System.UInt64 ArchestrA.BaseQueryArgs::get_Resolution()",
          "Token": "0x060061BF"
        },
        {
          "Offset": "0x0283",
          "OpCode": "call",
          "Operand": "System.Single ArchestrA.HistoryQueryArgs::get_ValueDeadband()",
          "Token": "0x06006247"
        },
        {
          "Offset": "0x0289",
          "OpCode": "call",
          "Operand": "System.UInt32 ArchestrA.HistoryQueryArgs::get_TimeDeadband()",
          "Token": "0x06006249"
        },
        {
          "Offset": "0x0294",
          "OpCode": "call",
          "Operand": "ArchestrA.HistorianVersionType ArchestrA.BaseQueryArgs::get_DataVersion()",
          "Token": "0x060061C1"
        },
        {
          "Offset": "0x029A",
          "OpCode": "call",
          "Operand": "ArchestrA.HistorianInterpolationType ArchestrA.HistoryQueryArgs::get_InterpolationType()",
          "Token": "0x0600624B"
        },
        {
          "Offset": "0x02A0",
          "OpCode": "call",
          "Operand": "ArchestrA.HistorianTimestampRule ArchestrA.HistoryQueryArgs::get_TimeStampRule()",
          "Token": "0x0600624D"
        },
        {
          "Offset": "0x02A6",
          "OpCode": "call",
          "Operand": "ArchestrA.HistorianQualityRule ArchestrA.HistoryQueryArgs::get_QualityRule()",
          "Token": "0x0600624F"
        },
        {
          "Offset": "0x02B6",
          "OpCode": "call",
          "Operand": "ArchestrA.HistorianValueSelector ArchestrA.HistoryQueryArgs::get_ValueSelector()",
          "Token": "0x06006253"
        },
        {
          "Offset": "0x02BC",
          "OpCode": "call",
          "Operand": "ArchestrA.HistorianAggregationType ArchestrA.HistoryQueryArgs::get_AggregationType()",
          "Token": "0x06006255"
        },
        {
          "Offset": "0x02C9",
          "OpCode": "call",
          "Operand": "System.UInt16 ArchestrA.HistoryQueryArgs::get_MaxStates()",
          "Token": "0x06006259"
        },
        {
          "Offset": "0x02D2",
          "OpCode": "call",
          "Operand": "System.Boolean modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::HistorianClient.StartDataQuery(HistorianClient* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst),INSQL_QUERYTYPE,INSQL_QUERYFORMAT,HISTORIAN_SUMMARYTYPE,System.UInt32 modopt(System.Runtime.CompilerServices.IsLong),System.Char modopt(System.Runtime.CompilerServices.IsConst)**,System.UInt32 modopt(System.Runtime.CompilerServices.IsLong),System.Char modopt(System.Runtime.CompilerServices.IsConst)**,System.UInt64,System.UInt64,System.Double,System.Single,System.UInt32,System.Char modopt(System.Runtime.CompilerServices.IsConst)*,E_VERSIONTYPE,E_INTERPOLATIONTYPE,E_TIMESTAMPRULE,E_QUALITYRULE,System.Char modopt(System.Runtime.CompilerServices.IsConst)*,System.Char*,System.UInt16,System.Char*,System.UInt16,EValueSelector,E_AGGREGATIONTYPE,System.UInt32,System.Byte modopt(System.Runtime.CompilerServices.IsConst)*,System.Char modopt(System.Runtime.CompilerServices.IsConst)*,System.UInt16,System.UInt32 modopt(System.Runtime.CompilerServices.IsLong)*,SError* modopt(System.Runtime.CompilerServices.IsImplicitlyDereferenced))",
          "Token": "0x060055E4"
        },
        {
          "Offset": "0x031A",
          "OpCode": "call",
          "Operand": "System.Void \u003CModule\u003E::___CxxCallUnwindDtor(System.Void (System.Void*),System.Void*)",
          "Token": "0x06005C0F"
        },
        {
          "Offset": "0x0322",
          "OpCode": "call",
          "Operand": "System.Void modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::SError.ClearErrorDetail(SError* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst))",
          "Token": "0x06000165"
        },
        {
          "Offset": "0x0331",
          "OpCode": "call",
          "Operand": "System.Void \u003CModule\u003E::___CxxCallUnwindDtor(System.Void (System.Void*),System.Void*)",
          "Token": "0x06005C0F"
        },
        {
          "Offset": "0x0341",
          "OpCode": "call",
          "Operand": "System.Void modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::SMemFile\u003CSCrtAllocator\u003E.Free(SMemFile\u003CSCrtAllocator\u003E* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst))",
          "Token": "0x060011E7"
        },
        {
          "Offset": "0x0350",
          "OpCode": "call",
          "Operand": "System.Void \u003CModule\u003E::___CxxCallUnwindDtor(System.Void (System.Void*),System.Void*)",
          "Token": "0x06005C0F"
        },
        {
          "Offset": "0x0368",
          "OpCode": "call",
          "Operand": "System.Void \u003CModule\u003E::___CxxCallUnwindDtor(System.Void (System.Void*),System.Void*)",
          "Token": "0x06005C0F"
        },
        {
          "Offset": "0x0370",
          "OpCode": "call",
          "Operand": "System.Void modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::QueryColumnSelector.{dtor}(QueryColumnSelector* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst))",
          "Token": "0x06000044"
        },
        {
          "Offset": "0x037F",
          "OpCode": "call",
          "Operand": "System.Void \u003CModule\u003E::___CxxCallUnwindDtor(System.Void (System.Void*),System.Void*)",
          "Token": "0x06005C0F"
        },
        {
          "Offset": "0x0388",
          "OpCode": "call",
          "Operand": "System.Void modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::stx.clear_array_ptr_vector\u003Cwchar_t\u003E(std.vector\u003Cwchar_t *,std::allocator\u003Cwchar_t *\u003E \u003E* modopt(System.Runtime.CompilerServices.IsImplicitlyDereferenced))",
          "Token": "0x06005886"
        },
        {
          "Offset": "0x0397",
          "OpCode": "call",
          "Operand": "System.Void \u003CModule\u003E::___CxxCallUnwindDtor(System.Void (System.Void*),System.Void*)",
          "Token": "0x06005C0F"
        },
        {
          "Offset": "0x039F",
          "OpCode": "call",
          "Operand": "System.Void modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::std.vector\u003Cwchar_t *,std::allocator\u003Cwchar_t *\u003E \u003E._Tidy(std.vector\u003Cwchar_t *,std::allocator\u003Cwchar_t *\u003E \u003E* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst))",
          "Token": "0x06005872"
        },
        {
          "Offset": "0x03AE",
          "OpCode": "call",
          "Operand": "System.Void \u003CModule\u003E::___CxxCallUnwindDtor(System.Void (System.Void*),System.Void*)",
          "Token": "0x06005C0F"
        },
        {
          "Offset": "0x03B6",
          "OpCode": "call",
          "Operand": "System.Void modopt(System.Runtime.CompilerServices.CallConvCdecl) \u003CModule\u003E::SError.ClearErrorDetail(SError* modopt(System.Runtime.CompilerServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst))",
          "Token": "0x06000165"
        }
      ]
    }
  ]
}
Wrote copy: docs\reverse-engineering\dnlib-write-copy\aahClientManaged.dll
