Files
histsdk/docs/reverse-engineering/data-query-request-ctor-il-latest.txt
dohertj2 c95824a65d Initial commit: managed .NET 10 AVEVA Historian SDK + reverse-engineering toolkit
Full read-only SDK (src/AVEVA.Historian.Client) implementing the CLAUDE.md required
surface against AVEVA Historian's binary WCF protocol — no native AVEVA runtime
dependency. All operations live-verified against a local Historian:

- ProbeAsync, ReadRawAsync, ReadAggregateAsync, ReadAtTimeAsync, ReadEventsAsync
- BrowseTagNamesAsync, GetTagMetadataAsync (17 native data-type codes mapped)
- GetConnectionStatusAsync, GetStoreForwardStatusAsync, GetSystemParameterAsync
- 108/108 unit + integration tests pass

Includes the reverse-engineering toolkit (tools/AVEVA.Historian.ReverseEngineering)
used to decode the protocol: WCF probes, IL inspection via dnlib, and IL-rewrite
instrumentation (instrument-wcf-{write,read}message etc.) plus the .NET Framework
trace harness (tools/AVEVA.Historian.NativeTraceHarness) for parity testing.

Sanitized handoff evidence under docs/reverse-engineering/. Native AVEVA binaries
(current/, aveva-install-x64/, aveva-install-x86/) are gitignored — fetch separately
from the AVEVA installer.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 06:31:48 -04:00

637 lines
19 KiB
Plaintext

IL_0000: ldarg.0
IL_0001: ldarg.s 23
IL_0003: call 0x060004C7 CMetadataNamespace.{ctor}
IL_0008: pop
IL_0009: ldarg.0
IL_000A: ldc.i4 208
IL_000F: conv.i8
IL_0010: add
IL_0011: stloc.s 22
IL_0013: ldloc.s 22
IL_0015: call 0x06000041 QueryColumnSelector.{ctor}
IL_001A: pop
IL_001B: ldarg.0
IL_001C: ldc.i4 232
IL_0021: conv.i8
IL_0022: add
IL_0023: stloc.s 21
IL_0025: ldloc.s 21
IL_0027: stloc.s 20
IL_0029: ldloc.s 20
IL_002B: ldc.i4.0
IL_002C: conv.i8
IL_002D: stind.i8
IL_002E: ldloc.s 20
IL_0030: ldc.i4.8
IL_0031: conv.i8
IL_0032: add
IL_0033: ldc.i4.0
IL_0034: conv.i8
IL_0035: stind.i8
IL_0036: ldarg.0
IL_0037: ldc.i4 264
IL_003C: conv.i8
IL_003D: add
IL_003E: stloc.s 19
IL_0040: ldloc.s 19
IL_0042: stloc.s 12
IL_0044: ldloc.s 12
IL_0046: call 0x060000C9 std._String_val<std::_Simple_types<wchar_t> >.{ctor}
IL_004B: pop
IL_004C: ldloc.s 12
IL_004E: call 0x06000074 std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >._Tidy_init
IL_0053: leave.s IL_0063
IL_0055: ldftn 0x06000064 std._Compressed_pair<std::allocator<wchar_t>,std::_String_val<std::_Simple_types<wchar_t> >,1>.{dtor}
IL_005B: ldloc.s 12
IL_005D: call 0x06005C0F ___CxxCallUnwindDtor
IL_0062: endfinally
IL_0063: nop
IL_0064: ldarg.0
IL_0065: ldc.i4 300
IL_006A: conv.i8
IL_006B: add
IL_006C: stloc.s 6
IL_006E: ldloc.s 6
IL_0070: call 0x06000325 CQTIFlags.{ctor}
IL_0075: pop
IL_0076: ldarg.0
IL_0077: ldc.i4 312
IL_007C: conv.i8
IL_007D: add
IL_007E: stloc.s 18
IL_0080: ldloc.s 18
IL_0082: stloc.s 11
IL_0084: ldloc.s 11
IL_0086: call 0x060000C9 std._String_val<std::_Simple_types<wchar_t> >.{ctor}
IL_008B: pop
IL_008C: ldloc.s 11
IL_008E: call 0x06000074 std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >._Tidy_init
IL_0093: leave.s IL_00A3
IL_0095: ldftn 0x06000064 std._Compressed_pair<std::allocator<wchar_t>,std::_String_val<std::_Simple_types<wchar_t> >,1>.{dtor}
IL_009B: ldloc.s 11
IL_009D: call 0x06005C0F ___CxxCallUnwindDtor
IL_00A2: endfinally
IL_00A3: nop
IL_00A4: ldarg.0
IL_00A5: ldc.i4 344
IL_00AA: conv.i8
IL_00AB: add
IL_00AC: stloc.s 17
IL_00AE: ldloc.s 17
IL_00B0: stloc.s 10
IL_00B2: ldloc.s 10
IL_00B4: call 0x060000C9 std._String_val<std::_Simple_types<wchar_t> >.{ctor}
IL_00B9: pop
IL_00BA: ldloc.s 10
IL_00BC: call 0x06000074 std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >._Tidy_init
IL_00C1: leave.s IL_00D1
IL_00C3: ldftn 0x06000064 std._Compressed_pair<std::allocator<wchar_t>,std::_String_val<std::_Simple_types<wchar_t> >,1>.{dtor}
IL_00C9: ldloc.s 10
IL_00CB: call 0x06005C0F ___CxxCallUnwindDtor
IL_00D0: endfinally
IL_00D1: nop
IL_00D2: ldarg.0
IL_00D3: ldc.i4 376
IL_00D8: conv.i8
IL_00D9: add
IL_00DA: stloc.s 9
IL_00DC: ldloc.s 9
IL_00DE: call 0x06000622 std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >.{ctor}
IL_00E3: pop
IL_00E4: ldloc.s 9
IL_00E6: ldc.i4.s 32
IL_00E8: conv.i8
IL_00E9: add
IL_00EA: ldc.i4.0
IL_00EB: stind.i4
IL_00EC: leave.s IL_00FC
IL_00EE: ldftn 0x0600005D std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >.{dtor}
IL_00F4: ldloc.s 9
IL_00F6: call 0x06005C0F ___CxxCallUnwindDtor
IL_00FB: endfinally
IL_00FC: nop
IL_00FD: ldarg.0
IL_00FE: ldc.i4 416
IL_0103: conv.i8
IL_0104: add
IL_0105: stloc.s 16
IL_0107: ldloc.s 16
IL_0109: call 0x06002BA5 CStateCalcSelector.{ctor}
IL_010E: pop
IL_010F: ldarg.0
IL_0110: ldc.i4 456
IL_0115: conv.i8
IL_0116: add
IL_0117: stloc.s 15
IL_0119: ldloc.s 15
IL_011B: stloc.2
IL_011C: ldloc.2
IL_011D: ldc.i4.0
IL_011E: conv.i8
IL_011F: stind.i8
IL_0120: ldloc.2
IL_0121: ldc.i4.8
IL_0122: conv.i8
IL_0123: add
IL_0124: ldc.i4.0
IL_0125: conv.i8
IL_0126: stind.i8
IL_0127: ldloc.2
IL_0128: ldc.i4.s 16
IL_012A: conv.i8
IL_012B: add
IL_012C: ldc.i4.0
IL_012D: conv.i8
IL_012E: stind.i8
IL_012F: ldarg.0
IL_0130: ldc.i4 480
IL_0135: conv.i8
IL_0136: add
IL_0137: stloc.s 14
IL_0139: ldloc.s 14
IL_013B: stloc.2
IL_013C: ldloc.2
IL_013D: ldc.i4.0
IL_013E: conv.i8
IL_013F: stind.i8
IL_0140: ldloc.2
IL_0141: ldc.i4.8
IL_0142: conv.i8
IL_0143: add
IL_0144: ldc.i4.0
IL_0145: conv.i8
IL_0146: stind.i8
IL_0147: ldloc.2
IL_0148: ldc.i4.s 16
IL_014A: conv.i8
IL_014B: add
IL_014C: ldc.i4.0
IL_014D: conv.i8
IL_014E: stind.i8
IL_014F: ldarg.0
IL_0150: ldc.i4 504
IL_0155: conv.i8
IL_0156: add
IL_0157: ldarg.s 31
IL_0159: stind.i4
IL_015A: ldarg.0
IL_015B: ldc.i4 508
IL_0160: conv.i8
IL_0161: add
IL_0162: ldarg.s 24
IL_0164: stind.i4
IL_0165: ldarg.0
IL_0166: ldc.i4 512
IL_016B: conv.i8
IL_016C: add
IL_016D: ldarg.s 25
IL_016F: stind.i4
IL_0170: ldarg.0
IL_0171: ldc.i4 516
IL_0176: conv.i8
IL_0177: add
IL_0178: ldarg.s 22
IL_017A: stind.i2
IL_017B: ldarg.0
IL_017C: ldc.i4 520
IL_0181: conv.i8
IL_0182: add
IL_0183: stloc.s 8
IL_0185: ldloc.s 8
IL_0187: ldarg.s 27
IL_0189: call 0x0600005F std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >.{ctor}
IL_018E: pop
IL_018F: ldloc.s 8
IL_0191: ldc.i4.s 32
IL_0193: conv.i8
IL_0194: add
IL_0195: ldarg.s 27
IL_0197: ldc.i4.s 32
IL_0199: conv.i8
IL_019A: add
IL_019B: call 0x06000568 std.vector<SEndpoint,std::allocator<SEndpoint> >.{ctor}
IL_01A0: pop
IL_01A1: leave.s IL_01B1
IL_01A3: ldftn 0x0600005D std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >.{dtor}
IL_01A9: ldloc.s 8
IL_01AB: call 0x06005C0F ___CxxCallUnwindDtor
IL_01B0: endfinally
IL_01B1: nop
IL_01B2: ldarg.0
IL_01B3: ldc.i4 576
IL_01B8: conv.i8
IL_01B9: add
IL_01BA: stloc.s 7
IL_01BC: ldloc.s 7
IL_01BE: ldarg.s 26
IL_01C0: call 0x0600005F std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >.{ctor}
IL_01C5: pop
IL_01C6: ldloc.s 7
IL_01C8: ldc.i4.s 32
IL_01CA: conv.i8
IL_01CB: add
IL_01CC: ldarg.s 26
IL_01CE: ldc.i4.s 32
IL_01D0: conv.i8
IL_01D1: add
IL_01D2: call 0x06000568 std.vector<SEndpoint,std::allocator<SEndpoint> >.{ctor}
IL_01D7: pop
IL_01D8: leave.s IL_01E8
IL_01DA: ldftn 0x0600005D std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >.{dtor}
IL_01E0: ldloc.s 7
IL_01E2: call 0x06005C0F ___CxxCallUnwindDtor
IL_01E7: endfinally
IL_01E8: nop
IL_01E9: ldarg.0
IL_01EA: ldc.i4 632
IL_01EF: conv.i8
IL_01F0: add
IL_01F1: ldarg.s 30
IL_01F3: stind.i2
IL_01F4: ldarg.0
IL_01F5: ldc.i4 636
IL_01FA: conv.i8
IL_01FB: add
IL_01FC: ldarg.s 28
IL_01FE: stind.i4
IL_01FF: ldarg.0
IL_0200: ldc.i4 640
IL_0205: conv.i8
IL_0206: add
IL_0207: ldarg.s 29
IL_0209: call 0x06002C1C AutoSummaryParameters.{ctor}
IL_020E: pop
IL_020F: ldloc.s 22
IL_0211: ldarg.1
IL_0212: call 0x06000043 QueryColumnSelector.=
IL_0217: pop
IL_0218: ldarg.0
IL_0219: ldc.i4 216
IL_021E: conv.i8
IL_021F: add
IL_0220: ldarg.2
IL_0221: stind.i4
IL_0222: ldarg.0
IL_0223: ldc.i4 220
IL_0228: conv.i8
IL_0229: add
IL_022A: ldarg.3
IL_022B: stind.i4
IL_022C: ldarg.0
IL_022D: ldc.i4 224
IL_0232: conv.i8
IL_0233: add
IL_0234: ldarg.s 4
IL_0236: stind.i4
IL_0237: ldloc.s 21
IL_0239: ldarg.s 5
IL_023B: stind.i8
IL_023C: ldarg.0
IL_023D: ldc.i4 240
IL_0242: conv.i8
IL_0243: add
IL_0244: ldarg.s 6
IL_0246: stind.i8
IL_0247: ldarg.0
IL_0248: ldc.i4 248
IL_024D: conv.i8
IL_024E: add
IL_024F: ldarg.s 7
IL_0251: stind.i8
IL_0252: ldarg.0
IL_0253: ldc.i4 256
IL_0258: conv.i8
IL_0259: add
IL_025A: ldarg.s 8
IL_025C: stind.r4
IL_025D: ldarg.0
IL_025E: ldc.i4 260
IL_0263: conv.i8
IL_0264: add
IL_0265: ldarg.s 9
IL_0267: stind.i4
IL_0268: ldarg.s 10
IL_026A: stloc.s 5
IL_026C: ldarg.s 10
IL_026E: unaligned. 1
IL_0271: ldind.i2
IL_0272: brfalse.s IL_0283
IL_0274: ldloc.s 5
IL_0276: ldc.i4.2
IL_0277: conv.i8
IL_0278: add
IL_0279: stloc.s 5
IL_027B: ldloc.s 5
IL_027D: unaligned. 1
IL_0280: ldind.i2
IL_0281: brtrue.s IL_0274
IL_0283: ldloc.s 5
IL_0285: ldarg.s 10
IL_0287: sub
IL_0288: ldc.i4.1
IL_0289: shr
IL_028A: stloc.s 25
IL_028C: ldloc.s 19
IL_028E: ldarg.s 10
IL_0290: ldloc.s 25
IL_0292: call 0x0600005B std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >.assign
IL_0297: pop
IL_0298: ldarg.s 11
IL_029A: ldc.i4.1
IL_029B: beq.s IL_02CB
IL_029D: ldarg.s 11
IL_029F: ldc.i4.4
IL_02A0: beq.s IL_02BF
IL_02A2: ldarg.s 11
IL_02A4: ldc.i4.5
IL_02A5: beq.s IL_02B3
IL_02A7: ldarg.0
IL_02A8: ldc.i4 228
IL_02AD: conv.i8
IL_02AE: add
IL_02AF: ldc.i4.0
IL_02B0: stind.i4
IL_02B1: br.s IL_02D5
IL_02B3: ldarg.0
IL_02B4: ldc.i4 228
IL_02B9: conv.i8
IL_02BA: add
IL_02BB: ldc.i4.5
IL_02BC: stind.i4
IL_02BD: br.s IL_02D5
IL_02BF: ldarg.0
IL_02C0: ldc.i4 228
IL_02C5: conv.i8
IL_02C6: add
IL_02C7: ldc.i4.4
IL_02C8: stind.i4
IL_02C9: br.s IL_02D5
IL_02CB: ldarg.0
IL_02CC: ldc.i4 228
IL_02D1: conv.i8
IL_02D2: add
IL_02D3: ldc.i4.1
IL_02D4: stind.i4
IL_02D5: ldarg.0
IL_02D6: ldc.i4 296
IL_02DB: conv.i8
IL_02DC: add
IL_02DD: ldarg.s 12
IL_02DF: stind.i4
IL_02E0: ldloc.s 6
IL_02E2: stloc.1
IL_02E3: ldloc.1
IL_02E4: ldarg.s 15
IL_02E6: ldc.i4.s 12
IL_02E8: shl
IL_02E9: ldloc.1
IL_02EA: ldind.u2
IL_02EB: xor
IL_02EC: ldc.i4 4095
IL_02F1: and
IL_02F2: ldarg.s 15
IL_02F4: ldc.i4.s 12
IL_02F6: shl
IL_02F7: xor
IL_02F8: stind.i2
IL_02F9: ldloc.s 6
IL_02FB: stloc.1
IL_02FC: ldloc.1
IL_02FD: ldarg.s 14
IL_02FF: ldc.i4.8
IL_0300: shl
IL_0301: ldloc.1
IL_0302: ldind.u2
IL_0303: xor
IL_0304: ldc.i4 3840
IL_0309: and
IL_030A: ldloc.1
IL_030B: ldind.u2
IL_030C: xor
IL_030D: stind.i2
IL_030E: ldarg.s 13
IL_0310: ldc.i4 254
IL_0315: beq.s IL_031B
IL_0317: ldarg.s 13
IL_0319: br.s IL_0320
IL_031B: ldc.i4 255
IL_0320: stloc.s 26
IL_0322: ldloc.s 6
IL_0324: stloc.1
IL_0325: ldloc.1
IL_0326: dup
IL_0327: ldind.u2
IL_0328: ldloca.s 26
IL_032A: ldind.i4
IL_032B: xor
IL_032C: ldc.i4 255
IL_0331: and
IL_0332: ldloc.1
IL_0333: ldind.u2
IL_0334: xor
IL_0335: stind.i2
IL_0336: ldarg.s 16
IL_0338: stloc.3
IL_0339: ldarg.s 16
IL_033B: unaligned. 1
IL_033E: ldind.i2
IL_033F: brfalse.s IL_034D
IL_0341: ldloc.3
IL_0342: ldc.i4.2
IL_0343: conv.i8
IL_0344: add
IL_0345: stloc.3
IL_0346: ldloc.3
IL_0347: unaligned. 1
IL_034A: ldind.i2
IL_034B: brtrue.s IL_0341
IL_034D: ldloc.3
IL_034E: ldarg.s 16
IL_0350: sub
IL_0351: ldc.i4.1
IL_0352: shr
IL_0353: stloc.s 24
IL_0355: ldloc.s 18
IL_0357: ldarg.s 16
IL_0359: ldloc.s 24
IL_035B: call 0x0600005B std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >.assign
IL_0360: pop
IL_0361: ldarg.s 17
IL_0363: brfalse.s IL_038B
IL_0365: ldarg.s 17
IL_0367: stloc.0
IL_0368: ldarg.s 17
IL_036A: unaligned. 1
IL_036D: ldind.i2
IL_036E: brfalse.s IL_037C
IL_0370: ldloc.0
IL_0371: ldc.i4.2
IL_0372: conv.i8
IL_0373: add
IL_0374: stloc.0
IL_0375: ldloc.0
IL_0376: unaligned. 1
IL_0379: ldind.i2
IL_037A: brtrue.s IL_0370
IL_037C: ldloc.0
IL_037D: ldarg.s 17
IL_037F: sub
IL_0380: ldc.i4.1
IL_0381: shr
IL_0382: ldc.i4.0
IL_0383: conv.i8
IL_0384: ble.un.s IL_038B
IL_0386: ldarg.s 17
IL_0388: stloc.0
IL_0389: br.s IL_0391
IL_038B: ldsflda 0x04007BC9 ??_C@_1BC@PKKBNPFC@?$AAN?$AAo?$AAF?$AAi?$AAl?$AAt?$AAe?$AAr@
IL_0390: stloc.0
IL_0391: ldloc.0
IL_0392: stloc.s 4
IL_0394: ldloc.0
IL_0395: unaligned. 1
IL_0398: ldind.i2
IL_0399: brfalse.s IL_03AA
IL_039B: ldloc.s 4
IL_039D: ldc.i4.2
IL_039E: conv.i8
IL_039F: add
IL_03A0: stloc.s 4
IL_03A2: ldloc.s 4
IL_03A4: unaligned. 1
IL_03A7: ldind.i2
IL_03A8: brtrue.s IL_039B
IL_03AA: ldloc.s 4
IL_03AC: ldloc.0
IL_03AD: sub
IL_03AE: ldc.i4.1
IL_03AF: shr
IL_03B0: stloc.s 23
IL_03B2: ldloc.s 17
IL_03B4: ldloc.0
IL_03B5: ldloc.s 23
IL_03B7: call 0x0600005B std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >.assign
IL_03BC: pop
IL_03BD: ldarg.0
IL_03BE: ldc.i4 408
IL_03C3: conv.i8
IL_03C4: add
IL_03C5: ldarg.s 18
IL_03C7: stind.i4
IL_03C8: ldloc.s 16
IL_03CA: ldarg.s 19
IL_03CC: stind.i4
IL_03CD: ldloc.s 15
IL_03CF: stloc.s 13
IL_03D1: ldloc.s 13
IL_03D3: ldarg.s 20
IL_03D5: beq.s IL_03E7
IL_03D7: ldloc.s 13
IL_03D9: ldarg.s 20
IL_03DB: ldind.i8
IL_03DC: ldarg.s 20
IL_03DE: ldc.i4.8
IL_03DF: conv.i8
IL_03E0: add
IL_03E1: ldind.i8
IL_03E2: call 0x0600273E std.vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >.assign<class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > *,0>
IL_03E7: ldloc.s 14
IL_03E9: ldarg.s 21
IL_03EB: call 0x0600268F std.vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >.=
IL_03F0: pop
IL_03F1: leave.s IL_0407
IL_03F3: ldftn 0x06002C1A AutoSummaryParameters.{dtor}
IL_03F9: ldarg.0
IL_03FA: ldc.i4 640
IL_03FF: conv.i8
IL_0400: add
IL_0401: call 0x06005C0F ___CxxCallUnwindDtor
IL_0406: endfinally
IL_0407: leave.s IL_041D
IL_0409: ldftn 0x06000443 SRedundantEndpoint.{dtor}
IL_040F: ldarg.0
IL_0410: ldc.i4 576
IL_0415: conv.i8
IL_0416: add
IL_0417: call 0x06005C0F ___CxxCallUnwindDtor
IL_041C: endfinally
IL_041D: leave.s IL_0433
IL_041F: ldftn 0x06000443 SRedundantEndpoint.{dtor}
IL_0425: ldarg.0
IL_0426: ldc.i4 520
IL_042B: conv.i8
IL_042C: add
IL_042D: call 0x06005C0F ___CxxCallUnwindDtor
IL_0432: endfinally
IL_0433: leave.s IL_0449
IL_0435: ldftn 0x0600105E std.vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >.{dtor}
IL_043B: ldarg.0
IL_043C: ldc.i4 480
IL_0441: conv.i8
IL_0442: add
IL_0443: call 0x06005C0F ___CxxCallUnwindDtor
IL_0448: endfinally
IL_0449: leave.s IL_045F
IL_044B: ldftn 0x0600105E std.vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >.{dtor}
IL_0451: ldarg.0
IL_0452: ldc.i4 456
IL_0457: conv.i8
IL_0458: add
IL_0459: call 0x06005C0F ___CxxCallUnwindDtor
IL_045E: endfinally
IL_045F: leave.s IL_0475
IL_0461: ldftn 0x06002BAF CStateCalcSelector.{dtor}
IL_0467: ldarg.0
IL_0468: ldc.i4 416
IL_046D: conv.i8
IL_046E: add
IL_046F: call 0x06005C0F ___CxxCallUnwindDtor
IL_0474: endfinally
IL_0475: leave.s IL_048B
IL_0477: ldftn 0x060004D6 CValueSelector.{dtor}
IL_047D: ldarg.0
IL_047E: ldc.i4 376
IL_0483: conv.i8
IL_0484: add
IL_0485: call 0x06005C0F ___CxxCallUnwindDtor
IL_048A: endfinally
IL_048B: leave.s IL_04A1
IL_048D: ldftn 0x0600005D std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >.{dtor}
IL_0493: ldarg.0
IL_0494: ldc.i4 344
IL_0499: conv.i8
IL_049A: add
IL_049B: call 0x06005C0F ___CxxCallUnwindDtor
IL_04A0: endfinally
IL_04A1: leave.s IL_04B7
IL_04A3: ldftn 0x0600005D std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >.{dtor}
IL_04A9: ldarg.0
IL_04AA: ldc.i4 312
IL_04AF: conv.i8
IL_04B0: add
IL_04B1: call 0x06005C0F ___CxxCallUnwindDtor
IL_04B6: endfinally
IL_04B7: leave.s IL_04CD
IL_04B9: ldftn 0x0600005D std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >.{dtor}
IL_04BF: ldarg.0
IL_04C0: ldc.i4 264
IL_04C5: conv.i8
IL_04C6: add
IL_04C7: call 0x06005C0F ___CxxCallUnwindDtor
IL_04CC: endfinally
IL_04CD: leave.s IL_04E3
IL_04CF: ldftn 0x06000044 QueryColumnSelector.{dtor}
IL_04D5: ldarg.0
IL_04D6: ldc.i4 208
IL_04DB: conv.i8
IL_04DC: add
IL_04DD: call 0x06005C0F ___CxxCallUnwindDtor
IL_04E2: endfinally
IL_04E3: leave.s IL_04F2
IL_04E5: ldftn 0x06002598 CMetadataNamespace.{dtor}
IL_04EB: ldarg.0
IL_04EC: call 0x06005C0F ___CxxCallUnwindDtor
IL_04F1: endfinally
IL_04F2: ldarg.0
IL_04F3: ret