Freigeben über


InternetSetStatusCallback-Funktion (wininet.h)

Die InternetSetStatusCallback-Funktion richtet eine Rückruffunktion ein, die WinINet-Funktionen aufrufen können, wenn der Fortschritt während eines Vorgangs erfolgt.

Syntax

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

Parameter

[in] hInternet

Das Handle, für das der Rückruf festgelegt ist.

[in] lpfnInternetCallback

Ein Zeiger auf die Rückruffunktion, die beim Status aufgerufen werden soll, oder NULL , um die vorhandene Rückruffunktion zu entfernen. Weitere Informationen zur Rückruffunktion finden Sie unter InternetStatusCallback.

Rückgabewert

Gibt die zuvor definierte status Rückruffunktion bei erfolgreicher Ausführung, NULL zurück, wenn zuvor keine status Rückruffunktion definiert war, oder INTERNET_INVALID_STATUS_CALLBACK, wenn die Rückruffunktion ungültig ist.

Hinweise

Sowohl synchrone als auch asynchrone Funktionen verwenden die Rückruffunktion, um den Fortschritt der Anforderung anzugeben, z. B. das Auflösen eines Namens, das Herstellen einer Verbindung mit einem Server usw. Die Rückruffunktion ist für einen asynchronen Vorgang erforderlich. Die asynchrone Anforderung ruft die Anwendung mit INTERNET_STATUS_REQUEST_COMPLETE zurück, um anzugeben, dass die Anforderung abgeschlossen wurde.

Eine Rückruffunktion kann für jedes Handle festgelegt werden und wird von abgeleiteten Handles geerbt. Eine Rückruffunktion kann mithilfe von InternetSetStatusCallback geändert werden, sofern keine ausstehenden Anforderungen vorhanden sind, die den vorherigen Rückrufwert verwenden müssen. Beachten Sie jedoch, dass das Ändern der Rückruffunktion für ein Handle die Rückrufe für abgeleitete Handles nicht ändert, z. B. die von InternetConnect zurückgegebenen. Sie müssen die Rückruffunktion auf jeder Ebene ändern.

Viele der WinINet-Funktionen führen mehrere Vorgänge im Netzwerk aus. Jeder Vorgang kann einige Zeit in Anspruch nehmen, und jeder Vorgang kann fehlschlagen.

Manchmal ist es wünschenswert, status Informationen während eines langfristigen Betriebs anzuzeigen. Sie können status Informationen anzeigen, indem Sie eine Internet status Rückruffunktion einrichten, die nicht entfernt werden kann, solange Rückrufe oder asynchrone Funktionen ausstehen.

Nach dem Initiieren von InternetSetStatusCallback kann von jeder WinINet-Funktion aus auf die Rückruffunktion zugegriffen werden, um zeitintensive Netzwerkvorgänge zu überwachen.

Hinweis Die im Parameter lpfnInternetCallback angegebene Rückruffunktion wird bei asynchronen Vorgängen für das Anforderungshandle nicht aufgerufen, wenn der dwContext-Parameter von HttpOpenRequest auf 0 (INTERNET_NO_CALLBACK) festgelegt ist, oder das Verbindungshandle, wenn das dwContext-Handle von InternetConnect auf Null (INTERNET_NO_CALLBACK) festgelegt ist.

Wie alle anderen Aspekte der WinINet-API kann diese Funktion nicht sicher innerhalb von DllMain oder den Konstruktoren und Destruktoren globaler Objekte aufgerufen werden.

Hinweis WinINet unterstützt keine Serverimplementierungen. Darüber hinaus sollte es nicht von einem Dienst aus verwendet werden. Verwenden Sie für Serverimplementierungen oder Dienste Microsoft Windows HTTP Services (WinHTTP).
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wininet.h
Bibliothek Wininet.lib
DLL Wininet.dll

Weitere Informationen

Allgemeine Funktionen

InternetStatusCallback

WinINet-Funktionen