InternetErrorDlg 関数 (wininet.h)

適切なダイアログ ボックスが存在する場合は、 InternetErrorDlg に渡されるエラーのダイアログ ボックスを表示します。 FLAGS_ERROR_UI_FILTER_FOR_ERRORS フラグを使用する場合、関数はヘッダーで非表示のエラーがないかもチェックし、必要に応じてダイアログ ボックスを表示します。

構文

DWORD InternetErrorDlg(
  [in]      HWND      hWnd,
  [in, out] HINTERNET hRequest,
  [in]      DWORD     dwError,
  [in]      DWORD     dwFlags,
  [in, out] LPVOID    *lppvData
);

パラメーター

[in] hWnd

必要なダイアログ ボックスの親ウィンドウを処理します。 ダイアログ ボックスが不要で、FLAGS_ERROR_UI_FLAGS_NO_UIが dwFlags に渡される場合、このパラメーターは NULL にすることができます

[in, out] hRequest

HttpSendRequest の呼び出しで使用されるインターネット接続を処理します。

[in] dwError

ダイアログ ボックスを表示するエラー値。 このパラメーターには、次の値のいずれかを指定できます。

説明
ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION
ユーザーがリダイレクトを確認できるようにします。
ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT
自動プロキシ スクリプトが無効であることを示すダイアログを表示します。
ERROR_INTERNET_CHG_POST_IS_NON_SECURE
セキュリティで保護されていないチャネルに特定のデータを投稿するかどうかをユーザーに確認するダイアログを表示します。
ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED
サーバーがクライアント証明書を要求しています。

このエラーの戻り値は、ユーザーが証明書を選択したかどうかに関係なく、常にERROR_SUCCESSされます。 ユーザーが証明書を選択していない場合は、後続の要求で匿名クライアント認証が試行されます。

ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR
セキュリティで保護されたサイトに渡るゾーンをユーザーに通知します。
ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR
セキュリティで保護されたサイトからのゾーン交差をユーザーに通知します。
ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR
投稿されるデータがセキュリティで保護されていないサイトにリダイレクトされていることをユーザーに通知します。
ERROR_INTERNET_INCORRECT_PASSWORD
ユーザーの名前とパスワードを要求するダイアログ ボックスを表示します。
ERROR_INTERNET_INVALID_CA
SSL 証明書の共通名 (ホスト名フィールド) が正しくないことを示します。 [無効な SSL 共通名] ダイアログ ボックスを表示し、ユーザーが正しくない証明書を表示できるようにします。
ERROR_INTERNET_MIXED_SECURITY
セキュリティで保護されたコンテンツとセキュリティで保護されていないコンテンツの混在に関する警告をユーザーに表示します。
ERROR_INTERNET_POST_IS_NON_SECURE
セキュリティで保護されていないチャネルに特定のデータを投稿するかどうかをユーザーに確認するダイアログを表示します。
ERROR_INTERNET_SEC_CERT_CN_INVALID
SSL 証明書の共通名 (ホスト名フィールド) が正しくないことを示します。 [無効な SSL 共通名] ダイアログ ボックスを表示し、ユーザーが正しくない証明書を表示できるようにします。 また、サーバー要求に応答して証明書を選択することもできます。
ERROR_INTERNET_SEC_CERT_ERRORS
サーバー証明書に関する問題を示す警告をユーザーに表示します。
ERROR_INTERNET_SEC_CERT_DATE_INVALID
SSL 証明書の有効期限が切れたことをユーザーに通知します。
ERROR_INTERNET_SEC_CERT_REV_FAILED
サーバー証明書の失効チェック失敗したことを示す警告をユーザーに表示します。
ERROR_INTERNET_SEC_CERT_REVOKED
サーバー証明書が取り消されたことを示すダイアログを表示します。
ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT
自動プロキシ スクリプトをダウンロードできなかったことを示すダイアログが表示されます。

[in] dwFlags

アクション。 このパラメーターには、次の 1 つ以上の値を指定できます。

説明
FLAGS_ERROR_UI_FILTER_FOR_ERRORS
返されたヘッダーでエラーをスキャンします。 このフラグを HttpSendRequest の呼び出しの後に設定して InternetErrorDlg を呼び出し、非表示のエラーを検出します。 たとえば、認証エラーは、 HttpSendRequest の呼び出しが正常に完了するため、通常は非表示になっていますが、状態コードをスキャンすることで、 InternetErrorDlg はプロキシまたはサーバーに認証が必要であると判断できます。
FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS
関数が成功した場合は、ダイアログ ボックスの結果をインターネット ハンドルに格納します。
FLAGS_ERROR_UI_FLAGS_GENERATE_DATA
必要な情報をインターネット ハンドルに照会します。 関数は、エラーに適したデータ構造を構築します。 (たとえば、Cert CN エラーの場合、関数は証明書を取得します)。
FLAGS_ERROR_UI_SERIALIZE_DIALOGS
パスワード キャッシュ エントリで同時要求の認証ダイアログ ボックスをシリアル化します。 lppvData パラメーターには、INTERNET_AUTH_NOTIFY_DATA構造体へのポインターのアドレスが含まれている必要があります。また、クライアントはスレッド セーフな非ブロッキング コールバック関数を実装する必要があります。
FLAGS_ERROR_UI_FLAGS_NO_UI
呼び出し元がエラーなしで hWnd パラメーターに NULL を渡すことができます。 ユーザー インターフェイスが必要ない状況で使用する。

[in, out] lppvData

データ構造のアドレスへのポインター。 構造体は、処理する必要があるエラーごとに異なる場合があります。

戻り値

次のいずれかの値を返します。それ以外の場合はエラー値を返します。

リターン コード 説明
ERROR_SUCCESS
関数は正常に終了しました。

詳細については、「dwError パラメーターのERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED」を参照してください。

ERROR_CANCELLED
ユーザーによって関数が取り消されました。
ERROR_INTERNET_FORCE_RETRY
これは、関数が要求をやり直す必要があることを示します。 認証の場合、これはユーザーが [OK] ボタンをクリックしたことを示します。
ERROR_INVALID_HANDLE
親ウィンドウへのハンドルが無効です。

解説

次のいずれかのイベントが発生した場合は、常にユーザーに通知します。

  • ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR
  • ERROR_INTERNET_INVALID_CA
  • ERROR_INTERNET_POST_IS_NON_SECURE
  • ERROR_INTERNET_SEC_CERT_CN_INVALID
  • ERROR_INTERNET_SEC_CERT_DATE_INVALID
ユーザーがこれらのイベントの通知を受け取らないよう明示的に選択していない限り、これを行わないと、ユーザーは思わず重大なセキュリティ リスクにさらされます。

WinINet API の他のすべての側面と同様に、この関数を DllMain またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。

メモ WinINet では、サーバーの実装はサポートされていません。 また、サービスから使用しないでください。 サーバーの実装またはサービスの場合は、 Microsoft Windows HTTP サービス (WinHTTP) を使用します。
 

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wininet.h
Library Wininet.lib
[DLL] Wininet.dll

関連項目

インターネット機能の有効化

WinINet 関数