Windows で C++ ネットワーク アプリケーションを開発しています。インターネット接続があるかどうかを確認する必要があります。gethostbyname() を使用していますが、システムがプロキシ経由で接続されている場合、誤った情報が返されます。InternetCheckConnection() と InternetGetConnectedState() も、さまざまな条件下で信頼できる結果が得られません。プロキシや VPN などのすべての条件をカバーするインターネット接続を確認する信頼できる方法はありますか?
アップデート:
当社のネットワークでは、WinHttpGetProxyForUrl() がエラー ERROR_WINHTTP_AUTODETECTION_FAILED で失敗し、WinHttpSendrequest() がエラー ERROR_WINHTTP_NAME_NOT_RESOLVED で失敗しています。
オープン ネットワークでは、WinHttpSendrequest() が成功します。