Freigeben über


InternetSetStatusCallbackA-Funktion (wininet.h)

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

Syntax

INTERNET_STATUS_CALLBACK InternetSetStatusCallbackA(
  HINTERNET                hInternet,
  INTERNET_STATUS_CALLBACK lpfnInternetCallback
);

Parameter

hInternet

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

lpfnInternetCallback

Ein Zeiger auf die Rückruffunktion, die aufgerufen werden soll, wenn der Fortschritt gemacht wird, 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 zurück, wenn erfolgreich, NULL, wenn zuvor keine status Rückruffunktion definiert wurde, 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. auflösen eines Namens, 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 nicht die Rückrufe für abgeleitete Handles ä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, während eines langfristigen Betriebs status Informationen 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 0 (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 verwendet werden. Verwenden Sie für Serverimplementierungen oder Dienste Microsoft Windows HTTP Services (WinHTTP).
 

Hinweis

Der wininet.h-Header definiert InternetSetStatusCallback als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Header wininet.h

Weitere Informationen

Allgemeine Funktionen

InternetStatusCallback

WinINet-Funktionen