Tagged ClientData always has -1 as DatumID (MSFS 2020 version)

Version: KittyHawk 11.0 SDK 0.24.5

Frequency: Consistently

Severity: Blocker

Context: SimConnect SDK

Bug description:

See this MSFS 2024 bug report. For completeness sake I tested this with 2020, and the issue is here also.

When I request ClientData with the SIMCONNECT_CLIENT_DATA_SET_FLAG_TAGGED flag, I receive SIMCONNECT_RECV_CLIENT_DATA messages with the correct flag set (SIMCONNECT_DATA_REQUEST_FLAG_TAGGED) and the correct message size, but all DatumID values in the data have value 0xFFFFFFFF. The actual fields themselves have the correct value. Note If I request with also the SIMCONNECT_CLIENT_DATA_REQUEST_FLAG_CHANGED flag specified, SimConnect correctly only sends the changed fields. It’s just that the DatumIDs, which would tell me which field was changed, is always 0xFFFFFFFF. (or -1)

Repro steps:

See this MSFS 2024 bug report

Attachments:

See this MSFS 2024 bug report

Private attachments: N/A

Ok, this appears to be “as designed”, since the DatumIDs are driven by the receiver rather than the sender. Fixing the receiver (client-2) to add DatumIDs during ClientData definition makes it work.