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
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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für