Freigeben über


InternetSetStatusCallbackW-Funktion (wininet.h)

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

Syntax

INTERNET_STATUS_CALLBACK InternetSetStatusCallbackW(
  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 erfolgt, oder NULL-, um die vorhandene Rückruffunktion zu entfernen. Weitere Informationen zur Rückruffunktion finden Sie unter InternetStatusCallback.

Rückgabewert

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

Bemerkungen

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 InternetSetStatusCallback-geändert werden, vorausgesetzt, es gibt keine ausstehenden Anforderungen, 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 InternetConnectzurückgegebenen Rückrufe. 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 Zeit in Anspruch nehmen, und jeder Vorgang kann fehlschlagen.

Es ist manchmal wünschenswert, Statusinformationen während eines langfristigen Vorgangs anzuzeigen. Sie können Statusinformationen anzeigen, indem Sie eine Internetstatusrückruffunktion einrichten, die nicht entfernt werden kann, solange rückrufe oder asynchrone Funktionen ausstehen.

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

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

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

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

Anmerkung

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

Siehe auch

allgemeine Funktionen

InternetStatusCallback-

WinINet-Funktionen