INTERNET_STATUS_CALLBACK回呼函式 (wininet.h)
應用程式定義狀態回呼函式的原型。
INTERNET_STATUS_CALLBACK類型會定義這個回呼函式的指標。InternetStatusCallback 是應用程式定義函數名稱的佔位元。
語法
INTERNET_STATUS_CALLBACK InternetStatusCallback;
void InternetStatusCallback(
[in] HINTERNET hInternet,
[in] DWORD_PTR dwContext,
[in] DWORD dwInternetStatus,
[in] LPVOID lpvStatusInformation,
[in] DWORD dwStatusInformationLength
)
{...}
參數
[in] hInternet
呼叫回呼函式的句柄。
[in] dwContext
變數的指標,指定與 hInternet 相關聯的應用程式定義內容值。
[in] dwInternetStatus
狀態代碼,指出呼叫回呼函式的原因。 此參數可以是下列其中一個值。
值 | 意義 |
---|---|
|
關閉與伺服器的連線。 lpvStatusInformation 參數為 NULL。 |
|
已成功連線到 sOCKADDR (sOCKADDR) lpvStatusInformation 所指向的套接字位址。 |
|
連接到 sOCKADDR (SOCKADDR) 由 lpvStatusInformation 指向的套接字位址。 |
|
已成功關閉與伺服器的連線。 lpvStatusInformation 參數為 NULL。 |
|
從快取擷取內容。 包含 URL 過去 Cookie 事件的相關數據,例如是否接受、拒絕、降級或已降級。
lpvStatusInformation 參數是 InternetCookieHistory 結構的指標。 |
|
指出已接受、拒絕、降級的 Cookie 數目, (從持續性變更為會話 Cookie) ,或 (只會在第一方內容) 中傳送出。 lpvStatusInformation 参數是收到 Cookie 數目的 DWORD。 |
|
指出在傳送要求時,已傳送或隱藏的Cookie數目。 lpvStatusInformation 參數是 DWORD,其中包含傳送或隱藏的 Cookie 數目。 |
|
未實作。 |
|
通知用戶端應用程式已偵測到 Proxy。 |
|
此句柄值已終止。 pvStatusInformation 包含正在關閉的句柄位址。 lpvStatusInformation 參數包含所關閉句柄的位址。 |
|
InternetConnect 用來指出它已建立新的句柄。 這可讓應用程式從另一個線程呼叫 InternetCloseHandle ,如果連線花費太長的時間。 lpvStatusInformation 參數包含 HINTERNET 句柄的位址。 |
|
從伺服器收到中繼 (100 層級) 狀態代碼訊息。 |
|
已成功找到 lpvStatusInformation 中包含的名稱 IP 位址。 lpvStatusInformation 參數指向包含主機名的PCTSTR。 |
|
回應中有 P3P 標頭。 |
|
未實作。 |
|
未實作。 |
|
未實作。 |
|
等候伺服器回應要求。 lpvStatusInformation 參數為 NULL。 |
|
HTTP 要求即將自動重新導向要求。 lpvStatusInformation 參數會指向新的 URL。 此時,應用程式可以使用重新導向回應來讀取伺服器傳回的任何數據,並可查詢回應標頭。 它也可以藉由關閉句柄來取消作業。 如果指定的原始要求 INTERNET_FLAG_NO_AUTO_REDIRECT,則不會進行此回呼。 |
|
異步操作已完成。 lpvStatusInformation 參數包含INTERNET_ASYNC_RESULT結構的位址。 |
|
成功將資訊要求傳送至伺服器。 lpvStatusInformation 參數會指向包含已傳送位元元組數目的 DWORD 值。 |
|
查閱 lpvStatusInformation 中所含名稱的IP位址。 lpvStatusInformation 參數指向包含主機名的PCTSTR。 |
|
已成功從伺服器收到回應。 |
|
將資訊要求傳送至伺服器。 lpvStatusInformation 參數為 NULL。 |
|
在安全 (HTTPS) 與不安全的 HTTP () 網站之間移動。 用戶必須收到這項變更的通知;否則,使用者可能會不慎公開敏感性資訊。 設定此旗標時, lpvStatusInformation 參數會指向包含其他旗標的狀態 DWORD。 |
[in] lpvStatusInformation
其他狀態資訊的指標。 設定 INTERNET_STATUS_STATE_CHANGE 旗標時, lpvStatusInformation 會指向包含下列一或多個旗標的 DWORD :
[in] dwStatusInformationLength
lpvStatusInformation 所指向之數據的大小,以位元組為單位。
傳回值
無
備註
因為回呼是在處理要求期間進行,所以應用程式應該花點時間在回呼函式中,以避免降低網路上的數據輸送量。 例如,在回呼函式中顯示對話方塊可能是伺服器終止要求的冗長作業。
回呼函式可以在與起始要求之線程不同的線程內容中呼叫。
謹慎 當狀態從安全 (HTTPS) 網站變更為發生不安全 (HTTP) 網站時,一律通知使用者,以防止非自動資訊洩漏。
注意 WinINet 不支援伺服器實作。 此外,不應該從服務使用它。 對於伺服器實作或服務,請使用 Microsoft Windows HTTP Services (WinHTTP) 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wininet.h |