Share via


InternetSetStatusCallback 函式 (wininet.h)

InternetSetStatusCallback 函式會設定回呼函式,WinINet 函式可以在作業期間呼叫為進度。

語法

INTERNET_STATUS_CALLBACK InternetSetStatusCallback(
  [in] HINTERNET                hInternet,
  [in] INTERNET_STATUS_CALLBACK lpfnInternetCallback
);

參數

[in] hInternet

設定回呼的句柄。

[in] lpfnInternetCallback

進行進度時要呼叫之回呼函式的指標,或 為NULL 移除現有的回呼函式。 如需回呼函式的詳細資訊,請參閱 InternetStatusCallback

傳回值

如果成功,則會傳回先前定義的狀態回呼函式、如果沒有先前定義的狀態回呼函式,則傳回 NULL ,如果回呼函式無效,則傳回INTERNET_INVALID_STATUS_CALLBACK。

備註

同步和異步函式都使用回呼函式來指出要求的進度,例如解析名稱、連線到伺服器等等。 異步操作需要回呼函式。 異步要求會呼叫回INTERNET_STATUS_REQUEST_COMPLETE的應用程式,以指出要求已完成。

回呼函式可以在任何句柄上設定,並由衍生句柄繼承。 您可以使用 InternetSetStatusCallback 來變更回呼函式,前提是沒有任何擱置的要求需要使用先前的回呼值。 不過請注意,變更句柄上的回呼函式並不會變更衍生句柄上的回呼,例如 InternetConnect 所傳回的。 您必須在每個層級變更回呼函式。

許多 WinINet 函式會在網路上執行數項作業。 每個作業可能需要一段時間才能完成,而且每個作業都可能會失敗。

有時候,建議您在長期作業期間顯示狀態資訊。 只要有任何回呼或任何異步函式擱置,您就可以設定無法移除的因特網狀態回呼函式來顯示狀態資訊。

起始 InternetSetStatusCallback 之後,可以從任何 WinINet 函式中存取回呼函式,以監視需要大量時間的網路作業。

注意HttpOpenRequestdwContext 參數設定為零時,lpfnInternetCallback 參數中指定的回呼函式將不會在要求句柄上呼叫, (INTERNET_NO_CALLBACK) ,或當 InternetConnectdwContext 句柄設定為零 (INTERNET_NO_CALLBACK ) 時呼叫連接句柄。

就像 WinINet API 的其他所有層面一樣,無法在 DllMain 或全域物件的建構函式和解構函式內安全地呼叫此函式。

注意 WinINet 不支援伺服器實作。 此外,它不應該從服務使用。 對於伺服器實作或服務,請使用 Microsoft Windows HTTP 服務 (WinHTTP)
 

規格需求

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

另請參閱

通用函式

InternetStatusCallback

WinINet 函式