{ "Scenario": "Local integrated full-history read", "RawArtifact": "artifacts/reverse-engineering/instrumented-cclientbase-open-correlation", "InstrumentedTokens": { "HistorianClient.OpenConnection": "0x060055D8", "aahClientCommon.CClientBase.OpenConnection": "0x0600388D", "Query.StartDataQuery": "0x0600574B", "aahClientCommon.CClientCommon.StartQuery": "0x06002E86", "CRetrievalConnectionWCF.StartQuery2": "0x06004A0D" }, "Observed": { "OpenConnectionSuccess": 1, "LegacyClientHandle": 2, "CClientBaseInitialHandle": 0, "CClientBasePrimaryOpenRecords": 0, "CClientBaseSecondaryOpenSuccess": 1, "CClientBaseHandleAfterSecondaryOpen": "", "StartDataQueryClientHandleCandidate": 2, "CClientCommonClientHandleForConnection": "", "WcfStartQuery2ClientHandle": "", "WcfStartQuery2Success": 1, "WcfStartQuery2ServerQueryHandle": "", "CClientCommonQueryHandleAfterCall": "", "ManagedGetNextRowQueryHandle": 1 }, "Hashes": { "WcfStartQuery2ResponseSha256": "4c062b5ce8181308f0f46bfd8c6088acb52e6ade94401651b7d3ccc8952edfb5", "WcfGetNextResultSha256": "d90f74b9d83eb615a0c16d3241e5884e65abfb31d28cce110dbf37b35a17def5", "ManagedGetNextRowMemorySha256": "316893e5f783819793b8a2f68c0c4b1d70bbbf5a3201b054d4b43ffbe6bed15c" }, "Conclusion": "CClientBase.OpenConnection starts with the vtable offset 24 handle equal to zero. The primary-open instrumentation did not fire on this local integrated path. The secondary open branch succeeds and the vtable offset 24 handle after that branch exactly matches the later CClientCommon.StartQuery client handle and WCF StartQuery2 client handle. The next reverse-engineering target is the secondary open vtable call at CClientBase.OpenConnection IL offset 0x06D4 and its request/response contract." }