InternetSetStatusCallbackA-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 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 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.
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 |