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
顯示對話方塊,指出自動 Proxy 腳本無效。
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
顯示對話方塊,指出無法下載自動 Proxy 腳本。

[in] dwFlags

動作。 此參數可以是下列一或多個值。

意義
FLAGS_ERROR_UI_FILTER_FOR_ERRORS
掃描傳回的標頭是否有錯誤。 在呼叫HttpSendRequest之後,呼叫InternetErrorDlg並設定此旗標,以偵測隱藏的錯誤。 例如,驗證錯誤通常會隱藏,因為 對 HttpSendRequest 的呼叫成功完成,但藉由掃描狀態碼, InternetErrorDlg 可以判斷 Proxy 或伺服器需要驗證。
FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS
如果函式成功,請將對話方塊的結果儲存在網際網路控制碼中。
FLAGS_ERROR_UI_FLAGS_GENERATE_DATA
查詢網際網路控制碼以取得所需的資訊。 函式會建構錯誤的適當資料結構。 (例如,針對 Cert CN 失敗,函式會抓取 certificate.)
FLAGS_ERROR_UI_SERIALIZE_DIALOGS
序列化密碼快取專案上並行要求的驗證對話方塊。 lppvData參數應該包含INTERNET_AUTH_NOTIFY_DATA結構的指標位址,而用戶端應該實作安全線程的非封鎖回呼函式。
FLAGS_ERROR_UI_FLAGS_NO_UI
允許呼叫端將 Null 傳遞至 hWnd 參數,而不會發生錯誤。 在不需要使用者介面的情況下使用。

[in, out] lppvData

資料結構的位址指標。 針對需要處理的每個錯誤,結構可能不同。

傳回值

傳回下列其中一個值,否則傳回錯誤值。

傳回碼 描述
ERROR_SUCCESS
語言函式已順利完成。

如需詳細資訊,請參閱dwError參數中的ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED

ERROR_CANCELLED
函式已由使用者取消。
ERROR_INTERNET_FORCE_RETRY
這表示函式需要重做其要求。 在驗證的情況下,這表示使用者已按一下 [ 確定 ] 按鈕。
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 Services (WinHTTP)
 

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 wininet.h
程式庫 Wininet.lib
Dll Wininet.dll

另請參閱

啟用網際網路功能

WinINet 函式