Alhard Horstmann Posted November 17, 2016 Report Posted November 17, 2016 Hi Pete, As I am currently very interested in the deeper functionality of FSUIPC and Simconnect, I may ask you, if you know about some documentation like a "white paper" about these topics. My interest, as an IT man, goes to some questions like: How gets FSUIPC access to the FSX data? How gets Simconnect access to FSX data? What protocols are used (TCP IP, named Pipes, Queues, etc) ? What roles are LVARS playing? What roles are the OFFSETS playing? How is the "cooperation" between both access modes ? Thanks, regards Alhard
Pete Dowson Posted November 18, 2016 Report Posted November 18, 2016 MOVED FROM FAQ SUBFORUM (Please always post support questions to the support forum. The subforums are repositories for reference data) On 11/17/2016 at 4:38 PM, alihor said: How gets FSUIPC access to the FSX data? Almost all by asking SimConnect to supply it. (Before FSX, FSUIPC had to get the data from all sorts of places in memory, found by research and disassembling parts of FS). On 11/17/2016 at 4:38 PM, alihor said: How gets Simconnect access to FSX data? SimConnect is a part of FS, built into the code, and written by the same guys who wrote FS. How's it not going to have access and knowledge about everything? After all, they had the source code! The "SimConnect.dll" installed with FS is NOT SimConnect itself, it is just the library of functions, and all of them communicate with the code inside FSX -- either by TCP/IP protocols or by named pipes (or memory sharing, much like FSUIPC with external applications. On 11/17/2016 at 4:38 PM, alihor said: What roles are LVARS playing? Local variables are variables local to the code of specific Gauges, accessed through the Panel interface using names preceded by L: On 11/17/2016 at 4:38 PM, alihor said: What roles are the OFFSETS playing? The term "offset" referes to the number of bytes from the first one in an area of memory which contains all the data extracted by FSUIPC and made available to its client applications. Similarly to receive data written by those clients to act upon. The model derives from methods invented by Miicrosoft in FS95 and FS98 days, and originally referred to locations in an FS module called "GLOBALS.DLL" which was its repository of data used throughout the Sim. As FS developed, and started to use C++ and Object Oriented methods, these all disappeared into their different modules and became effectively sealed off from each other. FSUIPC then had to try to find itall and collect it back into its own equivalent of that "GLOBAL" area. By doing this throughout all the versions of FS from FS98 to P3D (including CFS1 and CFS2), it maintained forward compatibility for many applications -- which was the prime objective. On 11/17/2016 at 4:38 PM, alihor said: How is the "cooperation" between both access modes ? FSUIPC uses SimConnect for about 99% of its needs. I had assumed that gradually all applications would use SimConnect directly, rather than go via FSUIPC, and many do. But some still use FSUIPC a lot, and it has other uses for things like assignment and calibration, so it keeps being maintained after all these years. Pete 2
Pete Dowson Posted November 19, 2016 Report Posted November 19, 2016 Actually, The fact that this may be of interest to others has led me to put a copy back into the FAQ subforum...., for future reference. Pete
Alhard Horstmann Posted November 19, 2016 Author Report Posted November 19, 2016 Hi Pete, thanks a lot!! That's exactly what I wanted to know. It would be great, if you would write a "white paper" about all these "secrets". Cause there are a lot of rumors about FS9/FSX interfaces. I think many of my IT collegues and Simmers are interested in these facts as well. But I know, you have other priorities :-) Alhard
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now