What happens to my old request if I reuse a `RequestID`

Sorry, where or in what context is this mentioned? Also there may be confusion about request ID vs. definition ID… when requesting single variables then they’re essentially equivalent, but with structs it may (or may not) matter to the implementation.

See the discussion here.

It’s a C interface… :slight_smile: Also Win32 is required all down the line anyway and it’s not like this is meant to be cross-platform (which is a separate discussion… and one where an abstraction layer between client and SimConnect actually makes sense, IMHO).

Well, since we’re not in the realm of device drivers or microcontrollers, there should be no valid reason for sticking with C. Even NVidia moved to Rust and improved the stability of their firmware.

C++ conferences will teach you that C++ does not require you to accept additional overhead for the increased benefit of templates and smart pointers (Repeat after me: “No more void* parameters!”) and proper and ensured cleanup. Using #define for constants isn’t even required in C anymore, because there’s constexpr. Using it to shorthand (well, longhand actually) typedefs is weird. The only reason I could think up for that is that someone is generating the “SimConnect.h” files for both C and C# from the same source, but didn’t want to touch the generator.