I've read most of the documentation from the FSUIPC SDK, I'm using Prepar3D v4.5, Visual Studio 2017 (free version), and am a retired software developer (Java, C/C+, Smalltalk, etc.).  Using the Borland C++ example I tried to open an connection to FSUIPC using this code (a snippet):
 
	    m_is_fsuipc_connection_made = FSUIPCInterface.FSUIPC_Open(SIM_ANY, &dwClosed); 
	     
	    if (m_is_fsuipc_connection_made) 
	    { 
	        m_read_sim_version_success = FSUIPCInterface.FSUIPC_Read(0x3308, 4, &FSVersion, &pdwResult); 
	    } 
	    if (m_read_sim_version_success) 
	    { 
	    ... rest of code omitted for brevity.
 
	In debug, the read function returns false.  I can't see why it is returning false, I have FSUIPC installed properly and can see it in the sim.