INTERNET_STATUS_CALLBACK Rückruffunktion (wininet.h)

Prototyp für eine anwendungsdefinierte status Rückruffunktion.

Der INTERNET_STATUS_CALLBACK-Typ definiert einen Zeiger auf diese Rückruffunktion. InternetStatusCallback ist ein Platzhalter für den anwendungsdefinierte Funktionsnamen.

Syntax

INTERNET_STATUS_CALLBACK InternetStatusCallback;

void InternetStatusCallback(
  [in] HINTERNET hInternet,
  [in] DWORD_PTR dwContext,
  [in] DWORD dwInternetStatus,
  [in] LPVOID lpvStatusInformation,
  [in] DWORD dwStatusInformationLength
)
{...}

Parameter

[in] hInternet

Das Handle, für das die Rückruffunktion aufgerufen wird.

[in] dwContext

Ein Zeiger auf eine Variable, die den anwendungsdefinierten Kontextwert angibt, der hInternet zugeordnet ist.

[in] dwInternetStatus

Ein status Code, der angibt, warum die Rückruffunktion aufgerufen wird. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
INTERNET_STATUS_CLOSING_CONNECTION
Schließen der Verbindung mit dem Server. Der lpvStatusInformation-Parameter ist NULL.
INTERNET_STATUS_CONNECTED_TO_SERVER
Erfolgreich mit der Socketadresse (SOCKADDR) verbunden, auf die von lpvStatusInformation verwiesen wird.
INTERNET_STATUS_CONNECTING_TO_SERVER
Herstellen einer Verbindung mit der Socketadresse (SOCKADDR), auf die von lpvStatusInformation verwiesen wird.
INTERNET_STATUS_CONNECTION_CLOSED
Die Verbindung mit dem Server wurde erfolgreich geschlossen. Der lpvStatusInformation-Parameter ist NULL.
INTERNET_STATUS_COOKIE_HISTORY
Abrufen von Inhalten aus dem Cache. Enthält Daten zu vergangenen Cookieereignissen für die URL, z. B. ob Cookies akzeptiert, abgelehnt, herabgestuft oder angeleint wurden.

Der lpvStatusInformation-Parameter ist ein Zeiger auf eine InternetCookieHistory-Struktur .

INTERNET_STATUS_COOKIE_RECEIVED
Gibt die Anzahl von Cookies an, die akzeptiert, abgelehnt, herabgestuft (von persistenten in Sitzungscookies geändert) oder angeleint wurden (nur im Kontext der 1. Partei gesendet). Der Parameter lpvStatusInformation ist ein DWORD mit der Anzahl der empfangenen Cookies.
INTERNET_STATUS_COOKIE_SENT
Gibt die Anzahl von Cookies an, die gesendet oder unterdrückt wurden, wenn eine Anforderung gesendet wird. Der Parameter lpvStatusInformation ist ein DWORD mit der Anzahl der gesendeten oder unterdrückten Cookies.
INTERNET_STATUS_CTL_RESPONSE_RECEIVED
Nicht implementiert.
INTERNET_STATUS_DETECTING_PROXY
Benachrichtigt die Clientanwendung, dass ein Proxy erkannt wurde.
INTERNET_STATUS_HANDLE_CLOSING
Dieser Handle-Wert wurde beendet. pvStatusInformation enthält die Adresse des zu schließenden Handles. Der lpvStatusInformation-Parameter enthält die Adresse des zu schließenden Handles.
INTERNET_STATUS_HANDLE_CREATED
Wird von InternetConnect verwendet, um anzugeben, dass das neue Handle erstellt wurde. Dadurch kann die Anwendung InternetCloseHandle über einen anderen Thread aufrufen, wenn die Verbindung zu lange dauert. Der Parameter lpvStatusInformation enthält die Adresse eines HINTERNET-Handles .
INTERNET_STATUS_INTERMEDIATE_RESPONSE
Vom Server wurde eine zwischengeschaltete (100-Ebene) status-Codenachricht empfangen.
INTERNET_STATUS_NAME_RESOLVED
Die IP-Adresse des in lpvStatusInformation enthaltenen Namens wurde erfolgreich gefunden. Der Parameter lpvStatusInformation verweist auf einen PCTSTR , der den Hostnamen enthält.
INTERNET_STATUS_P3P_HEADER
Die Antwort enthält einen P3P-Header.
INTERNET_STATUS_P3P_POLICYREF
Nicht implementiert.
INTERNET_STATUS_PREFETCH
Nicht implementiert.
INTERNET_STATUS_PRIVACY_IMPACTED
Nicht implementiert.
INTERNET_STATUS_RECEIVING_RESPONSE
Warten auf die Antwort des Servers auf eine Anforderung. Der lpvStatusInformation-Parameter ist NULL.
INTERNET_STATUS_REDIRECT
Eine HTTP-Anforderung wird die Anforderung automatisch umgeleitet. Der Parameter lpvStatusInformation verweist auf die neue URL. An diesem Punkt kann die Anwendung alle vom Server zurückgegebenen Daten mit der Umleitungsantwort lesen und die Antwortheader abfragen. Außerdem kann der Vorgang abgebrochen werden, indem das Handle geschlossen wird. Dieser Rückruf wird nicht durchgeführt, wenn die ursprüngliche Anforderung INTERNET_FLAG_NO_AUTO_REDIRECT angegeben wurde.
INTERNET_STATUS_REQUEST_COMPLETE
Ein asynchroner Vorgang wurde abgeschlossen. Der Parameter lpvStatusInformation enthält die Adresse einer INTERNET_ASYNC_RESULT-Struktur .
INTERNET_STATUS_REQUEST_SENT
Die Informationsanforderung wurde erfolgreich an den Server gesendet. Der Parameter lpvStatusInformation verweist auf einen DWORD-Wert , der die Anzahl der gesendeten Bytes enthält.
INTERNET_STATUS_RESOLVING_NAME
Suchen der IP-Adresse des in lpvStatusInformation enthaltenen Namens. Der Parameter lpvStatusInformation verweist auf einen PCTSTR , der den Hostnamen enthält.
INTERNET_STATUS_RESPONSE_RECEIVED
Eine Antwort vom Server wurde erfolgreich empfangen.
INTERNET_STATUS_SENDING_REQUEST
Senden der Informationsanforderung an den Server. Der lpvStatusInformation-Parameter ist NULL.
INTERNET_STATUS_STATE_CHANGE
Zwischen einer sicheren (HTTPS) und einer unsicheren (HTTP)-Website verschoben. Der Benutzer muss über diese Änderung informiert werden; andernfalls besteht die Gefahr, dass der Benutzer vertrauliche Informationen unfreiwillig offenlegen kann. Wenn dieses Flag festgelegt ist, zeigt der lpvStatusInformation-Parameter auf eine status DWORD, die zusätzliche Flags enthält.

[in] lpvStatusInformation

Ein Zeiger auf zusätzliche status Informationen. Wenn das flag INTERNET_STATUS_STATE_CHANGE festgelegt ist, verweist lpvStatusInformation auf ein DWORD , das mindestens eins der folgenden Flags enthält:

Wert Bedeutung
INTERNET_STATE_CONNECTED
Verbundener Zustand. Sich gegenseitig ausschließend mit getrenntem Zustand.
INTERNET_STATE_DISCONNECTED
Getrennter Zustand. Es konnte keine Netzwerkverbindung hergestellt werden.
INTERNET_STATE_DISCONNECTED_BY_USER
Durch Benutzeranforderung getrennt.
INTERNET_STATE_IDLE
Vom Windows-Internet werden keine Netzwerkanforderungen gestellt.
INTERNET_STATE_BUSY
Netzwerkanforderungen werden vom Windows-Internet gestellt.
INTERNET_STATUS_USER_INPUT_REQUIRED
Für die Anforderung muss die Benutzereingabe abgeschlossen werden.

[in] dwStatusInformationLength

Die Größe der Daten in Bytes, auf die von lpvStatusInformation verwiesen wird.

Rückgabewert

Keine

Bemerkungen

Da Rückrufe während der Verarbeitung der Anforderung erfolgen, sollte die Anwendung wenig Zeit in der Rückruffunktion aufwenden, um eine Beeinträchtigung des Datendurchsatzes im Netzwerk zu vermeiden. Beispielsweise kann das Anzeigen eines Dialogfelds in einer Rückruffunktion so langwierig sein, dass der Server die Anforderung beendet.

Die Rückruffunktion kann in einem Threadkontext aufgerufen werden, der sich von dem Thread unterscheidet, der die Anforderung initiiert hat.

Vorsicht Benachrichtigen Sie den Benutzer immer, wenn ein Zustandswechsel von einer sicheren (HTTPS)-Website zu einer nicht sicheren (HTTP)-Website auftritt, um sich vor unfreiwilliger Offenlegung von Informationen zu schützen.
 
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

Weitere Informationen

Asynchroner Vorgang

Erstellen von Statusrückruffunktionen

INTERNET_ASYNC_RESULT

WinINet-Funktionen