Partager via


INTERNET_STATUS_CALLBACK fonction de rappel (wininet.h)

Prototype d’une fonction de rappel status définie par l’application.

Le type INTERNET_STATUS_CALLBACK définit un pointeur vers cette fonction de rappel. InternetStatusCallback est un espace réservé pour le nom de fonction défini par l’application.

Syntaxe

INTERNET_STATUS_CALLBACK InternetStatusCallback;

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

Paramètres

[in] hInternet

Handle pour lequel la fonction de rappel est appelée.

[in] dwContext

Pointeur vers une variable qui spécifie la valeur de contexte définie par l’application associée à hInternet.

[in] dwInternetStatus

Un status code qui indique pourquoi la fonction de rappel est appelée. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
INTERNET_STATUS_CLOSING_CONNECTION
Fermeture de la connexion au serveur. Le paramètre lpvStatusInformation est NULL.
INTERNET_STATUS_CONNECTED_TO_SERVER
Connexion réussie à l’adresse de socket (SOCKADDR) pointée par lpvStatusInformation.
INTERNET_STATUS_CONNECTING_TO_SERVER
Connexion à l’adresse de socket (SOCKADDR) pointée par lpvStatusInformation.
INTERNET_STATUS_CONNECTION_CLOSED
La connexion au serveur a été fermée. Le paramètre lpvStatusInformation est NULL.
INTERNET_STATUS_COOKIE_HISTORY
Récupération de contenu à partir du cache. Contient des données sur les événements de cookies passés pour l’URL, par exemple si les cookies ont été acceptés, rejetés, rétrogradés ou mis en laisse.

Le paramètre lpvStatusInformation est un pointeur vers une structure InternetCookieHistory .

INTERNET_STATUS_COOKIE_RECEIVED
Indique le nombre de cookies qui ont été acceptés, rejetés, rétrogradés (de cookies persistants à de session) ou mis en laisse (ne seront envoyés que dans le contexte d’un tiers). Le paramètre lpvStatusInformation est un DWORD avec le nombre de cookies reçus.
INTERNET_STATUS_COOKIE_SENT
Indique le nombre de cookies qui ont été envoyés ou supprimés lorsqu’une demande est envoyée. Le paramètre lpvStatusInformation est un DWORD avec le nombre de cookies envoyés ou supprimés.
INTERNET_STATUS_CTL_RESPONSE_RECEIVED
Non implémenté.
INTERNET_STATUS_DETECTING_PROXY
Avertit l’application cliente qu’un proxy a été détecté.
INTERNET_STATUS_HANDLE_CLOSING
Cette valeur de handle a été arrêtée. pvStatusInformation contient l’adresse du handle en cours de fermeture. Le paramètre lpvStatusInformation contient l’adresse du handle en cours de fermeture.
INTERNET_STATUS_HANDLE_CREATED
Utilisé par InternetConnect pour indiquer qu’il a créé le nouveau handle. Cela permet à l’application d’appeler InternetCloseHandle à partir d’un autre thread, si la connexion prend trop de temps. Le paramètre lpvStatusInformation contient l’adresse d’un handle HINTERNET .
INTERNET_STATUS_INTERMEDIATE_RESPONSE
Reçu un message de code intermédiaire (niveau 100) status du serveur.
INTERNET_STATUS_NAME_RESOLVED
L’adresse IP du nom contenu dans lpvStatusInformation a été trouvée. Le paramètre lpvStatusInformation pointe vers un PCTSTR contenant le nom d’hôte.
INTERNET_STATUS_P3P_HEADER
La réponse contient un en-tête P3P.
INTERNET_STATUS_P3P_POLICYREF
Non implémenté.
INTERNET_STATUS_PREFETCH
Non implémenté.
INTERNET_STATUS_PRIVACY_IMPACTED
Non implémenté.
INTERNET_STATUS_RECEIVING_RESPONSE
Attendre que le serveur réponde à une demande. Le paramètre lpvStatusInformation est NULL.
INTERNET_STATUS_REDIRECT
Une requête HTTP est sur le point de rediriger automatiquement la requête. Le paramètre lpvStatusInformation pointe vers la nouvelle URL. À ce stade, l’application peut lire toutes les données retournées par le serveur avec la réponse de redirection et interroger les en-têtes de réponse. Il peut également annuler l’opération en fermant le handle. Ce rappel n’est pas effectué si la requête d’origine spécifiée INTERNET_FLAG_NO_AUTO_REDIRECT.
INTERNET_STATUS_REQUEST_COMPLETE
Une opération asynchrone a été effectuée. Le paramètre lpvStatusInformation contient l’adresse d’une structure INTERNET_ASYNC_RESULT .
INTERNET_STATUS_REQUEST_SENT
Envoi de la demande d’informations au serveur. Le paramètre lpvStatusInformation pointe vers une valeur DWORD qui contient le nombre d’octets envoyés.
INTERNET_STATUS_RESOLVING_NAME
Recherche de l’adresse IP du nom contenu dans lpvStatusInformation. Le paramètre lpvStatusInformation pointe vers un PCTSTR contenant le nom d’hôte.
INTERNET_STATUS_RESPONSE_RECEIVED
Réception réussie d’une réponse du serveur.
INTERNET_STATUS_SENDING_REQUEST
Envoi de la demande d’informations au serveur. Le paramètre lpvStatusInformation est NULL.
INTERNET_STATUS_STATE_CHANGE
Déplacé entre un site sécurisé (HTTPS) et un site non sécurisé (HTTP). L’utilisateur doit être informé de cette modification ; dans le cas contraire, l’utilisateur risque de divulguer des informations sensibles involontairement. Lorsque cet indicateur est défini, le paramètre lpvStatusInformation pointe vers un status DWORD qui contient des indicateurs supplémentaires.

[in] lpvStatusInformation

Pointeur vers des informations status supplémentaires. Lorsque l’indicateur INTERNET_STATUS_STATE_CHANGE est défini, lpvStatusInformation pointe vers un DWORD qui contient un ou plusieurs des indicateurs suivants :

Valeur Signification
INTERNET_STATE_CONNECTED
État connecté. S’excluent mutuellement avec l’état déconnecté.
INTERNET_STATE_DISCONNECTED
État déconnecté. Aucune connexion réseau n’a pu être établie.
INTERNET_STATE_DISCONNECTED_BY_USER
Déconnecté par demande de l’utilisateur.
INTERNET_STATE_IDLE
Aucune demande réseau n’est effectuée par Windows Internet.
INTERNET_STATE_BUSY
Les requêtes réseau sont effectuées par Windows Internet.
INTERNET_STATUS_USER_INPUT_REQUIRED
La demande nécessite que l’entrée utilisateur soit effectuée.

[in] dwStatusInformationLength

Taille, en octets, des données pointées par lpvStatusInformation.

Valeur de retour

None

Remarques

Étant donné que les rappels sont effectués pendant le traitement de la demande, l’application doit consacrer peu de temps à la fonction de rappel pour éviter de dégrader le débit des données sur le réseau. Par exemple, l’affichage d’une boîte de dialogue dans une fonction de rappel peut être une opération tellement longue que le serveur met fin à la demande.

La fonction de rappel peut être appelée dans un contexte de thread différent du thread qui a lancé la demande.

Attention Informez toujours l’utilisateur lorsqu’un changement d’état d’un site sécurisé (HTTPS) à un site non sécurisé (HTTP) se produit, afin de vous protéger contre la divulgation involontaire d’informations.
 
Comme tous les autres aspects de l’API WinINet, cette fonction ne peut pas être appelée en toute sécurité à partir de DllMain ou des constructeurs et destructeurs d’objets globaux.
Note WinINet ne prend pas en charge les implémentations de serveur. En outre, il ne doit pas être utilisé à partir d’un service. Pour les implémentations de serveur ou les services, utilisez Microsoft Windows HTTP Services (WinHTTP).
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wininet.h

Voir aussi

Opération asynchrone

Création de fonctions de rappel d’état

INTERNET_ASYNC_RESULT

Fonctions WinINet