From 6e1c0633dff5269bfbaae72cc3d200f8e5976328 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 6 Nov 2018 01:28:53 +0100 Subject: [PATCH] Ref T349, log message if P3D driver is loaded --- .../simulator/fsxcommon/simconnectsymbols.cpp | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/plugins/simulator/fsxcommon/simconnectsymbols.cpp b/src/plugins/simulator/fsxcommon/simconnectsymbols.cpp index 09430f56c..c4ac1fa5d 100644 --- a/src/plugins/simulator/fsxcommon/simconnectsymbols.cpp +++ b/src/plugins/simulator/fsxcommon/simconnectsymbols.cpp @@ -24,7 +24,7 @@ bool loadAndResolveSimConnect(bool manifestProbing) } // old FSX API: https://docs.microsoft.com/en-us/previous-versions/microsoft-esp/cc526983(v=msdn.10) - +//! \todo MS 2018-11 as of slack chat, change to "using PfnSimConnect_Open = HRESULT(__stdcall *)(HANDLE *, LPCSTR, HWND, DWORD, HANDLE, DWORD);" typedef HRESULT(__stdcall *PfnSimConnect_Open)(HANDLE *, LPCSTR, HWND, DWORD, HANDLE, DWORD); typedef HRESULT(__stdcall *PfnSimConnect_Close)(HANDLE); typedef HRESULT(__stdcall *PfnSimConnect_AddToDataDefinition)(HANDLE, SIMCONNECT_DATA_DEFINITION_ID, const char *, const char *, SIMCONNECT_DATATYPE, float, DWORD); @@ -204,11 +204,25 @@ bool loadAndResolveP3DSimConnect(P3DSimConnectVersion version) simConnectDll.setLoadHints(QLibrary::PreventUnloadHint); if (simConnectDll.load()) { - return resolveCommonSimConnectSymbols(simConnectDll) && resolveP3DSimConnectSymbols(simConnectDll); + const bool resolvedCommon = resolveCommonSimConnectSymbols(simConnectDll); + const bool resolvedP3DSimConnectSymbols = resolveP3DSimConnectSymbols(simConnectDll); + if (!resolvedCommon) + { + CLogMessage(static_cast(nullptr)).error("Failed to resolve common symbols from SimConnect.dll: '%1'") << simConnectFileName; + return false; + } + if (!resolvedP3DSimConnectSymbols) + { + CLogMessage(static_cast(nullptr)).error("Failed to resolve P3D symbols from SimConnect.dll: '%1'") << simConnectFileName; + return false; + } + + CLogMessage(static_cast(nullptr)).info("Loaded and resolved P3D symbols from SimConnect.dll: '%1'") << simConnectFileName; + return resolvedCommon && resolvedP3DSimConnectSymbols; } else { - CLogMessage(static_cast(nullptr)).error("Failed to load SimConnect.dll: %1") << simConnectDll.errorString(); + CLogMessage(static_cast(nullptr)).error("Failed to load SimConnect.dll: '%1' '%2'") << simConnectFileName << simConnectDll.errorString(); return false; } }