[net] add fallback to InternetGetConnectedState() when INetworkListManager service dependencies are missing

* INetworkListManager appears to depend on specific services to be able to work,
  which one can actually disable while still getting full Internet connectivity.
* If that is the case, HRESULT_FROM_WIN32(ERROR_SERVICE_DEPENDENCY_FAIL) will be
  returned, therefore we add a fallback to using InternetGetConnectedState(), which
  does not have such dependencies (but has other limitations per b2492908be)
  when we detect a dependency error.
* Also take this opportunity to switch to using INetworkListManager::get_IsConnectedToInternet().
* Also fix Coverity breakage due to Synopsys having upgraded their toolchain.
* Closes #1801
This commit is contained in:
Pete Batard 2022-02-18 17:18:34 +00:00
parent 209fb18b1c
commit 89db56acbc
No known key found for this signature in database
GPG key ID: 38E0CF5E69EDD671
3 changed files with 25 additions and 10 deletions

View file

@ -49,7 +49,9 @@ jobs:
msbuild-architecture: x64
- name: Build with Coverity
run: cov-build.exe --dir cov-int msbuild ${{ env.SOLUTION_FILE_PATH }} /m /p:Configuration=${{ env.BUILD_CONFIGURATION }},Platform=${{ env.TARGET_PLATFORM }}
run: |
cov-configure --msvc
cov-build.exe --dir cov-int msbuild ${{ env.SOLUTION_FILE_PATH }} /m /p:Configuration=${{ env.BUILD_CONFIGURATION }},Platform=${{ env.TARGET_PLATFORM }}
- name: Publish Coverity artifacts
uses: actions/upload-artifact@v2