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
要顯示對話方塊的錯誤值。 此參數可以是下列其中一個值。
值 | 意義 |
---|---|
|
允許使用者確認重新導向。 |
|
顯示對話方塊,指出自動 Proxy 腳本無效。 |
|
顯示對話方塊,詢問使用者是否要在不安全通道上張貼指定的資料。 |
|
伺服器正在要求用戶端憑證。
不論使用者是否已選取憑證,此錯誤的傳回值一律ERROR_SUCCESS。 如果使用者尚未選取憑證,則會在後續要求上嘗試匿名用戶端驗證。 |
|
通知使用者跨越安全網站的區域。 |
|
通知使用者從安全網站跨越區域。 |
|
通知使用者,正在張貼的資料現在會重新導向至不安全的網站。 |
|
顯示要求使用者名稱和密碼的對話方塊。 |
|
指出 SSL 憑證 [一般名稱] (主機名稱欄位) 不正確。 顯示 [不正確 SSL 一般名稱] 對話方塊,並讓使用者檢視不正確的憑證。 |
|
向使用者顯示有關混合安全和非安全內容的警告。 |
|
顯示對話方塊,詢問使用者是否要在不安全通道上張貼指定的資料。 |
|
指出 SSL 憑證 [一般名稱] (主機名稱欄位) 不正確。 顯示 [不正確 SSL 一般名稱] 對話方塊,並讓使用者檢視不正確的憑證。 也允許使用者選取憑證以回應伺服器要求。 |
|
向使用者顯示警告,其中顯示伺服器憑證的問題。 |
|
告知使用者 SSL 憑證已過期。 |
|
向使用者顯示警告,顯示伺服器憑證的撤銷檢查失敗。 |
|
顯示對話方塊,指出伺服器憑證已撤銷。 |
|
顯示對話方塊,指出無法下載自動 Proxy 腳本。 |
[in] dwFlags
動作。 此參數可以是下列一或多個值。
值 | 意義 |
---|---|
|
掃描傳回的標頭是否有錯誤。 在呼叫HttpSendRequest之後,呼叫InternetErrorDlg並設定此旗標,以偵測隱藏的錯誤。 例如,驗證錯誤通常會隱藏,因為 對 HttpSendRequest 的呼叫成功完成,但藉由掃描狀態碼, InternetErrorDlg 可以判斷 Proxy 或伺服器需要驗證。 |
|
如果函式成功,請將對話方塊的結果儲存在網際網路控制碼中。 |
|
查詢網際網路控制碼以取得所需的資訊。 函式會建構錯誤的適當資料結構。 (例如,針對 Cert CN 失敗,函式會抓取 certificate.) |
|
序列化密碼快取專案上並行要求的驗證對話方塊。 lppvData參數應該包含INTERNET_AUTH_NOTIFY_DATA結構的指標位址,而用戶端應該實作安全線程的非封鎖回呼函式。 |
|
允許呼叫端將 Null 傳遞至 hWnd 參數,而不會發生錯誤。 在不需要使用者介面的情況下使用。 |
[in, out] lppvData
資料結構的位址指標。 針對需要處理的每個錯誤,結構可能不同。
傳回值
傳回下列其中一個值,否則傳回錯誤值。
傳回碼 | 描述 |
---|---|
|
語言函式已順利完成。
如需詳細資訊,請參閱dwError參數中的ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED。 |
|
函式已由使用者取消。 |
|
這表示函式需要重做其要求。 在驗證的情況下,這表示使用者已按一下 [ 確定 ] 按鈕。 |
|
父視窗的控制碼無效。 |
備註
發生下列任何事件時,請一律通知使用者:
- 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 |