I am experiencing a strange issue when my external app is started during the MSFS start-up period (i.e. before it arrives in the main menu).
When my application is started either before MSFS is started, or after MSFS has started and is in the menu system or with an aircraft loaded then I do not get this issue.
I am also not sure if this is an MSFS issue or is related to only the Steam version - I am also reporting this to Steam.
My application uses the standard windows API to acquire and use HID devices. It does this by scanning for HID joystick-type devices and also reading the registry (as well as previous user’ settings). This is an example of the (partial) output from such a scan/acquisition:
Good?, flags, VID, PID, Name, INIid, REGid, RegEntry, INIguid, REGguid, HIDguid, ValsOK?, ReadsOk?
,,, HIDscanning completed
N, x00, x044F, x0407, , -1, -1, 0, {NULL}, {NULL}, {951A5E90-EF8B-11EE-8001-444553540000}, Y, N
N, x00, x231D, x0200, , -1, -1, 0, {NULL}, {NULL}, {2D53E6F0-EF8B-11EE-8011-444553540000}, Y, N
N, x00, x044F, xB68F, , -1, -1, 0, {NULL}, {NULL}, {2D53E6F0-EF8B-11EE-8018-444553540000}, Y, N
,,, REGscanning completed
N, x00, x044F, x0407, TCA Q-Eng 1&2, -1, 2, 0, {NULL}, {951A5E90-EF8B-11EE-8001-444553540000}, {951A5E90-EF8B-11EE-8001-444553540000}, Y, Y
N, x00, x231D, x0200, VKBsim Gladiator EVO R, -1, 0, 0, {NULL}, {2D53E6F0-EF8B-11EE-8011-444553540000}, {2D53E6F0-EF8B-11EE-8011-444553540000}, Y, Y
N, x00, x044F, xB68F, T-Pendular-Rudder, -1, 1, 0, {NULL}, {2D53E6F0-EF8B-11EE-8018-444553540000}, {2D53E6F0-EF8B-11EE-8018-444553540000}, Y, Y
When the same process is done during MSFS start-up, this is what is seen:
Good?, flags, VID, PID, Name, INIid, REGid, RegEntry, INIguid, REGguid, HIDguid, ValsOK?, ReadsOk?
,,, HIDscanning completed
N, x00, x28DE, x11FF, , -1, -1, 0, {NULL}, {NULL}, {951A5E90-EF8B-11EE-8001-444553540000}, Y, N
N, x00, x28DE, x11FF, , -1, -1, 0, {NULL}, {NULL}, {951A5E90-EF8B-11EE-8001-444553540000}, Y, N
N, x00, x044F, x0407, , -1, -1, 0, {NULL}, {NULL}, {951A5E90-EF8B-11EE-8001-444553540000}, Y, N
N, x00, x231D, x0200, , -1, -1, 0, {NULL}, {NULL}, {2D53E6F0-EF8B-11EE-8011-444553540000}, Y, N
N, x00, x28DE, x11FF, , -1, -1, 0, {NULL}, {NULL}, {951A5E90-EF8B-11EE-8001-444553540000}, Y, N
N, x00, x044F, xB68F, , -1, -1, 0, {NULL}, {NULL}, {2D53E6F0-EF8B-11EE-8018-444553540000}, Y, N
,,, REGscanning completed
N, x00, x28DE, x11FF, , -1, 2, 0, {NULL}, {951A5E90-EF8B-11EE-8001-444553540000}, {951A5E90-EF8B-11EE-8001-444553540000}, Y, Y
N, x00, x28DE, x11FF, , -1, 2, 0, {NULL}, {951A5E90-EF8B-11EE-8001-444553540000}, {951A5E90-EF8B-11EE-8001-444553540000}, Y, Y
N, x00, x044F, x0407, TCA Q-Eng 1&2, -1, 2, 0, {NULL}, {951A5E90-EF8B-11EE-8001-444553540000}, {951A5E90-EF8B-11EE-8001-444553540000}, Y, Y
N, x00, x231D, x0200, VKBsim Gladiator EVO R, -1, 0, 0, {NULL}, {2D53E6F0-EF8B-11EE-8011-444553540000}, {2D53E6F0-EF8B-11EE-8011-444553540000}, Y, Y
N, x00, x28DE, x11FF, , -1, 2, 0, {NULL}, {951A5E90-EF8B-11EE-8001-444553540000}, {951A5E90-EF8B-11EE-8001-444553540000}, Y, Y
N, x00, x044F, xB68F, T-Pendular-Rudder, -1, 1, 0, {NULL}, {2D53E6F0-EF8B-11EE-8018-444553540000}, {2D53E6F0-EF8B-11EE-8018-444553540000}, Y, Y
Notice the 3 additional controllers detected, with VID x28DE and PID x11FF (an xbox controller). These devices are also detected, both in the HID scanning and registry scanning sections, with the same GUID as an existing controller.
This is causing issues with my app (and for my users) as it then fails to acquire the correct device.
Is this something related to what MSFS is doing during start-up, or is this a Steam issue? This may also be related to another issue I have raised, with programs started via the EXE.xml method being started too early during the start-up process.
Any ideas on what could be causing this?
Thanks and regards,
John