Partager via


Fonction InternetErrorDlg (wininet.h)

Affiche une boîte de dialogue pour l’erreur passée à InternetErrorDlg, si une boîte de dialogue appropriée existe. Si l’indicateur FLAGS_ERROR_UI_FILTER_FOR_ERRORS est utilisé, la fonction vérifie également les en-têtes à la recherche d’erreurs masquées et affiche une boîte de dialogue si nécessaire.

Syntaxe

DWORD InternetErrorDlg(
  [in]      HWND      hWnd,
  [in, out] HINTERNET hRequest,
  [in]      DWORD     dwError,
  [in]      DWORD     dwFlags,
  [in, out] LPVOID    *lppvData
);

Paramètres

[in] hWnd

Gérez vers la fenêtre parente pour toute boîte de dialogue nécessaire. Si aucune boîte de dialogue n’est nécessaire et qu’FLAGS_ERROR_UI_FLAGS_NO_UI est passé à dwFlags, ce paramètre peut être NULL.

[in, out] hRequest

Gérez la connexion Internet utilisée dans l’appel à HttpSendRequest.

[in] dwError

Valeur d’erreur pour laquelle une boîte de dialogue doit être affichée. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION
Permet à l’utilisateur de confirmer la redirection.
ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT
Affiche une boîte de dialogue indiquant que le script de proxy automatique n’est pas valide.
ERROR_INTERNET_CHG_POST_IS_NON_SECURE
Affiche une boîte de dialogue demandant à l’utilisateur s’il faut publier les données données sur un canal non sécurisé.
ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED
Le serveur demande un certificat client.

La valeur de retour de cette erreur est toujours ERROR_SUCCESS, que l’utilisateur ait sélectionné ou non un certificat. Si l’utilisateur n’a pas sélectionné de certificat, l’authentification du client anonyme est tentée lors de la demande suivante.

ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR
Avertit l’utilisateur de la traversée de zone vers un site sécurisé.
ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR
Avertit l’utilisateur de la traversée de zone à partir d’un site sécurisé.
ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR
Avertit l’utilisateur que les données publiées sont désormais redirigées vers un site non sécurisé.
ERROR_INTERNET_INCORRECT_PASSWORD
Affiche une boîte de dialogue demandant le nom et le mot de passe de l’utilisateur.
ERROR_INTERNET_INVALID_CA
Indique que le nom commun du certificat SSL (champ nom d’hôte) est incorrect. Affiche une boîte de dialogue Nom commun SSL non valide et permet à l’utilisateur d’afficher le certificat incorrect.
ERROR_INTERNET_MIXED_SECURITY
Affiche un avertissement à l’utilisateur concernant le contenu mixte sécurisé et non sécurisé.
ERROR_INTERNET_POST_IS_NON_SECURE
Affiche une boîte de dialogue demandant à l’utilisateur s’il faut publier les données données sur un canal non sécurisé.
ERROR_INTERNET_SEC_CERT_CN_INVALID
Indique que le nom commun du certificat SSL (champ nom d’hôte) est incorrect. Affiche une boîte de dialogue Nom commun SSL non valide et permet à l’utilisateur d’afficher le certificat incorrect. Permet également à l’utilisateur de sélectionner un certificat en réponse à une demande de serveur.
ERROR_INTERNET_SEC_CERT_ERRORS
Affiche un avertissement à l’utilisateur montrant les problèmes liés au certificat de serveur.
ERROR_INTERNET_SEC_CERT_DATE_INVALID
Indique à l’utilisateur que le certificat SSL a expiré.
ERROR_INTERNET_SEC_CERT_REV_FAILED
Affiche un avertissement à l’utilisateur indiquant que la révocation du certificat de serveur case activée échoué.
ERROR_INTERNET_SEC_CERT_REVOKED
Affiche une boîte de dialogue indiquant que le certificat de serveur est révoqué.
ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT
Affiche une boîte de dialogue indiquant que le script de proxy automatique n’a pas pu être téléchargé.

[in] dwFlags

Actions. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes.

Valeur Signification
FLAGS_ERROR_UI_FILTER_FOR_ERRORS
Analyse les en-têtes retournés à la recherche d’erreurs. Appelez InternetErrorDlg avec cet indicateur défini après un appel à HttpSendRequest afin de détecter les erreurs masquées. Les erreurs d’authentification, par exemple, sont normalement masquées, car l’appel à HttpSendRequest se termine correctement, mais en analysant les codes status, InternetErrorDlg peut déterminer que le proxy ou le serveur nécessite une authentification.
FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS
Si la fonction réussit, stocke les résultats de la boîte de dialogue dans le handle Internet.
FLAGS_ERROR_UI_FLAGS_GENERATE_DATA
Interroge le handle Internet pour obtenir les informations nécessaires. La fonction construit la structure de données appropriée pour l’erreur. (Par exemple, pour les échecs cn de certificat, la fonction récupère le certificat.)
FLAGS_ERROR_UI_SERIALIZE_DIALOGS
Sérialise les boîtes de dialogue d’authentification pour les demandes simultanées sur une entrée de cache de mot de passe. Le paramètre lppvData doit contenir l’adresse d’un pointeur vers une structure INTERNET_AUTH_NOTIFY_DATA , et le client doit implémenter une fonction de rappel thread-safe et non bloquante.
FLAGS_ERROR_UI_FLAGS_NO_UI
Permet à l’appelant de passer NULL au paramètre hWnd sans erreur. À utiliser dans des circonstances où aucune interface utilisateur n’est requise.

[in, out] lppvData

Pointeur vers l’adresse d’une structure de données. La structure peut être différente pour chaque erreur qui doit être gérée.

Valeur retournée

Retourne l’une des valeurs suivantes, ou une valeur d’erreur dans le cas contraire.

Code de retour Description
ERROR_SUCCESS
La fonction s’est terminée avec succès.

Pour plus d’informations, consultez ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED dans le paramètre dwError .

ERROR_CANCELLED
La fonction a été annulée par l’utilisateur.
ERROR_INTERNET_FORCE_RETRY
Cela indique que la fonction doit rétablir sa requête. Dans le cas de l’authentification, cela indique que l’utilisateur a cliqué sur le bouton OK .
ERROR_INVALID_HANDLE
Le handle de la fenêtre parente n’est pas valide.

Remarques

Informez toujours l’utilisateur quand l’un des événements suivants se produit :

  • ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR
  • ERROR_INTERNET_INVALID_CA
  • ERROR_INTERNET_POST_IS_NON_SECURE
  • ERROR_INTERNET_SEC_CERT_CN_INVALID
  • ERROR_INTERNET_SEC_CERT_DATE_INVALID
Sauf si l’utilisateur a explicitement choisi de ne pas être informé de ces événements, le fait de ne pas le faire expose involontairement à un risque de sécurité important.

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

   
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
Bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

Activation des fonctionnalités Internet

Fonctions WinINet