c95824a65d
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>
106 lines
3.6 KiB
JSON
106 lines
3.6 KiB
JSON
{
|
|
"Path": "C:\\Users\\dohertj2\\Desktop\\histsdk\\current\\aahClient.dll",
|
|
"Sha256": "77a778988e2d8f2d0e88113f8c8b0788a0ef34fa5134938a353976778144dc83",
|
|
"Exports": [
|
|
"?mdas_AddHistorianValue2@@YAHKPEAUHISTORIAN_VALUE2@@PEAUHISTORIAN_ERROR@@@Z",
|
|
"?mdas_AddNonStreamedValue2@@YAHKKPEAUHISTORIAN_VALUE2@@PEAUHISTORIAN_ERROR@@@Z",
|
|
"?mdas_GetNextEventDataQueryResult@@YAHKKPEAVEventQueryResultRow@@PEAUHISTORIAN_ERROR@@@Z",
|
|
"?mdas_GetRuntimeParameter@@YAHKAEBV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@AEAV?$vector@VCRetVariant@@V?$allocator@VCRetVariant@@@std@@@2@PEAUHISTORIAN_ERROR@@@Z",
|
|
"?mdas_StartEventDataRetrievalQuery@@YAHK_K0IIGGAEAVEventQueryFilters@@PEB_WPEAKPEAUHISTORIAN_ERROR@@@Z",
|
|
"mdas_AddHistorianTag",
|
|
"mdas_AddHistorianTags",
|
|
"mdas_AddHistorianValue",
|
|
"mdas_AddNonStreamValues",
|
|
"mdas_AddNonStreamValuesBegin",
|
|
"mdas_AddNonStreamValuesEnd",
|
|
"mdas_AddNonStreamedValue",
|
|
"mdas_AddNonStreamedValue3",
|
|
"mdas_AddNonStreamedValueAsync",
|
|
"mdas_AddNonStreamedValuesBegin",
|
|
"mdas_AddNonStreamedValuesEnd",
|
|
"mdas_AddRevisionValue",
|
|
"mdas_AddRevisionValuesBegin",
|
|
"mdas_AddRevisionValuesEnd",
|
|
"mdas_AddStreamValue",
|
|
"mdas_AddStreamValue2",
|
|
"mdas_AddTagExtendedProperties",
|
|
"mdas_AddTagExtendedPropertyGroups",
|
|
"mdas_AddTags",
|
|
"mdas_AddTags2",
|
|
"mdas_CanUpdateAreaHierarchy",
|
|
"mdas_CloseConnection",
|
|
"mdas_ConfigureAutoStartProcess",
|
|
"mdas_ConfigureParameter",
|
|
"mdas_DeleteTag",
|
|
"mdas_DeleteTagExtendedPropertiesByName",
|
|
"mdas_EndQuery",
|
|
"mdas_ExchangeInfoWithProcess",
|
|
"mdas_GetErrorCount",
|
|
"mdas_GetErrorText",
|
|
"mdas_GetHistorianTagsByKey",
|
|
"mdas_GetJobStatus",
|
|
"mdas_GetLicenseFeatureInfo",
|
|
"mdas_GetLikeTagnames",
|
|
"mdas_GetLocalizedText",
|
|
"mdas_GetNextBlockQueryResult",
|
|
"mdas_GetNextDataQueryResult",
|
|
"mdas_GetSFParameter",
|
|
"mdas_GetStorageStatus",
|
|
"mdas_GetSystemParameter",
|
|
"mdas_GetSystemTimeZoneName",
|
|
"mdas_GetTagDeploymentStatus",
|
|
"mdas_GetTagExtendedPropertyByName",
|
|
"mdas_GetTagExtendedPropertyGroupStatusByName",
|
|
"mdas_GetTagInfoByName",
|
|
"mdas_GetTagInfoFromName",
|
|
"mdas_GetTagInfosByName",
|
|
"mdas_GetTagStatusByName",
|
|
"mdas_GetTagTypeFromName",
|
|
"mdas_GetTagidsByTagnameAndSource",
|
|
"mdas_GetTimeZoneInfo",
|
|
"mdas_GetTimeZoneNames",
|
|
"mdas_Initialize",
|
|
"mdas_IsAllForwarded",
|
|
"mdas_IsDBCaseSensitive",
|
|
"mdas_IsManualTag",
|
|
"mdas_IsOriginalAllowed",
|
|
"mdas_IsTagnameValid",
|
|
"mdas_IsTagsSynchronized",
|
|
"mdas_LogError",
|
|
"mdas_OpenConnection",
|
|
"mdas_OpenConnection2",
|
|
"mdas_OpenConnectionOffline",
|
|
"mdas_OpenConnectionOffline2",
|
|
"mdas_OpenConnectionOffline4",
|
|
"mdas_PingPipe",
|
|
"mdas_PingServer",
|
|
"mdas_ReleaseBuffer",
|
|
"mdas_ReleaseErrorDetail",
|
|
"mdas_RenameSourceTags",
|
|
"mdas_RenameTags",
|
|
"mdas_SendNonStreamedValues",
|
|
"mdas_SetBufferMemory",
|
|
"mdas_SetConnectState",
|
|
"mdas_SetConnectionParameter",
|
|
"mdas_SetParameter",
|
|
"mdas_SetRedundantSFMode",
|
|
"mdas_SetSFParameter",
|
|
"mdas_SetServerConnectionInfo",
|
|
"mdas_SetServerConnectionInfo2",
|
|
"mdas_SetServerConnectionInfo4",
|
|
"mdas_SetStoreForwardMode",
|
|
"mdas_SetTraceAccount",
|
|
"mdas_SetTraceFlags",
|
|
"mdas_StartBlockRetrievalQuery",
|
|
"mdas_StartDataRetrievalQuery",
|
|
"mdas_StartLikeTagNameSearch",
|
|
"mdas_StartProcess",
|
|
"mdas_StopProcess",
|
|
"mdas_UnInitialize",
|
|
"mdas_UnregisterTag",
|
|
"mdas_UpdateAreaHierarchy",
|
|
"mdas_UpdateConnection",
|
|
"mdas_UpdateObjectHierarchy"
|
|
]
|
|
}
|