My motivation for this patch is a bit weird, it (hopefully) fixes random lockup on GTAV Enhanced start (from Rockstar Launcher). The actual deadlock happens between one thread loading and initializing winex11.drv and another thread which called WinVerifyTrust which called GetDesktopWindow and triggered explorer / desktop initialization, that locks up between loader lock and some of user32 or winex11 locks.
Of course the core reason for lockup is not in wintrust. But wintrust has nothing to do with getting desktop window and thus pulling / initializing the whole win32 subsystem when not asked to. So it is probably beneficial not to pull all that regardless of user32 / loader issues. Besides the added test, I checked that we don't use hWndParent from provider data anywhere (and if we did handling should've probably be done in provider, also INVALID_HANDLE_VALUE likely means that no user interaction is supposed to take place and likely only NULL handle may imply using desktop window for anything).