Jump to content
The simFlight Network Forums

Common functionality of FSUIPC and Simconnect


Recommended Posts

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

Link to comment
Share on other sites

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

 

  • Upvote 2
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.