Documentation for `SIMCONNECT_RECV_EXCEPTION` is incorrect

Version: 1.1.2

Frequency: Consistently

Severity: High

Marketplace package name: N/A

Context: MSFS 2024 SDK Documentation

Similar MSFS 2020 issue: N/A

Bug description: The documentation for SIMCONNECT_RECV_EXCEPTION states that the dwIndex field is set to 0 if the index is unknown. There is no indicated similar special value for the dwSendID field. However, in SimConnect.h we can find:

SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_EXCEPTION : public SIMCONNECT_RECV   // when dwID == SIMCONNECT_RECV_ID_EXCEPTION
{
    DWORD   dwException;    // see SIMCONNECT_EXCEPTION
    static const DWORD UNKNOWN_SENDID = 0;
    DWORD   dwSendID;       // see SimConnect_GetLastSentPacketID
    static const DWORD UNKNOWN_INDEX = DWORD_MAX;
    DWORD   dwIndex;        // index of parameter that was source of error
};

A developer depending on the documentation rather than the special value, will check for the wrong value. Note also that there is no indication that the two special values need to be referred to using qualified names, as in “SIMCONNECT_RECV_EXCEPTION::UNKNOWN_SENDID” and “SIMCONNECT_RECV_EXCEPTION::UNKNOWN_INDEX”.

Repro steps: N/A

Attachments: N/A

Private attachments: N/A

A fix has been made in the documentation SU3.

Regards,
Boris

Hey Boris,
What SDK version will this be in? Maybe even better; where can I find a mapping between SUs and SDK versions?

In SIMCONNECT_RECV_OPEN we get versions (major, minor, and build) for the “application” (I presume the simulator) and “SimConnect”, but it is unclear to me how this corresponds to Simulator versions, Service Updates, and SDK versions.

You should have the fix in the lastest SU3 sdk documentation version.
About the version number, MSFS24 is version 12x.x.x and MSFS2020 11.x.x.x
For minor and build number, it changes when we update the SimConnect API.

For SDK versions, SU3 is 1.4.5
SU4 will be 1.5.x and so on..

Hope this helps,

Regards,
Boris

For SDK versions, SU3 is 1.4.5

Ok, I downloaded that, but is still states the values are both zero.

Went to the file on disk to make doubly sure:

      <tr>
        <td><code class="inline">dwSendID</code></td>
        <td>
          <p>The ID of the packet that contained the error, see Remarks below.</p>
          <p>Special case: <code class="inline">UNKNOWN_SENDID = 0</code>.</p>
          <p>Note that if this special case is returned, there has been an <em>internal</em> problem.</p>
        </td>
      </tr>
      <tr>
        <td><code class="inline">dwIndex</code></td>
        <td>
          <p>The index number (starting at 1) of the first parameter that caused an error.</p>
          <p>Special case: <code class="inline">UNKNOWN_INDEX = 0</code>.</p>
        </td>
      </tr>

@Boris I have now downloaded the SU4 Beta (SDK version 1.5.2) and both values are still listed as being 0. SimConnect.h is also unchanged.

Hello,

I’m checking with the dev and I will let you know when I have some news to share about this.
Thank you.

Regards,
Boris

1 Like

Hello,
This should be fixed in SU5.

Regards,
Boris