Función InternetErrorDlg (wininet.h)

Muestra un cuadro de diálogo para el error que se pasa a InternetErrorDlg, si existe un cuadro de diálogo adecuado. Si se usa la marca FLAGS_ERROR_UI_FILTER_FOR_ERRORS , la función también comprueba los encabezados de los errores ocultos y muestra un cuadro de diálogo si es necesario.

Sintaxis

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

Parámetros

[in] hWnd

Identificador de la ventana primaria para cualquier cuadro de diálogo necesario. Si no se necesita ningún cuadro de diálogo y FLAGS_ERROR_UI_FLAGS_NO_UI se pasa a dwFlags, este parámetro puede ser NULL.

[in, out] hRequest

Identificador de la conexión a Internet usada en la llamada a HttpSendRequest.

[in] dwError

Valor de error para el que se va a mostrar un cuadro de diálogo. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION
Permite al usuario confirmar el redireccionamiento.
ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT
Muestra un cuadro de diálogo que indica que el script de proxy automático no es válido.
ERROR_INTERNET_CHG_POST_IS_NON_SECURE
Muestra un cuadro de diálogo que pregunta al usuario si desea publicar los datos especificados en un canal no seguro.
ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED
El servidor solicita un certificado de cliente.

El valor devuelto de este error siempre se ERROR_SUCCESS, independientemente de si el usuario ha seleccionado o no un certificado. Si el usuario no ha seleccionado un certificado, se intentará la autenticación de cliente anónima en la solicitud posterior.

ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR
Notifica al usuario de la zona que cruza a un sitio seguro.
ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR
Notifica al usuario de la zona que cruza desde un sitio seguro.
ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR
Notifica al usuario que los datos que se publican ahora se redirigen a un sitio no seguro.
ERROR_INTERNET_INCORRECT_PASSWORD
Muestra un cuadro de diálogo que solicita el nombre y la contraseña del usuario.
ERROR_INTERNET_INVALID_CA
Indica que el nombre común del certificado SSL (campo nombre de host) es incorrecto. Muestra un cuadro de diálogo Nombre común SSL no válido y permite al usuario ver el certificado incorrecto.
ERROR_INTERNET_MIXED_SECURITY
Muestra una advertencia al usuario relativa al contenido seguro mixto y no seguro.
ERROR_INTERNET_POST_IS_NON_SECURE
Muestra un cuadro de diálogo que pregunta al usuario si desea publicar los datos especificados en un canal no seguro.
ERROR_INTERNET_SEC_CERT_CN_INVALID
Indica que el nombre común del certificado SSL (campo nombre de host) es incorrecto. Muestra un cuadro de diálogo Nombre común SSL no válido y permite al usuario ver el certificado incorrecto. También permite al usuario seleccionar un certificado en respuesta a una solicitud de servidor.
ERROR_INTERNET_SEC_CERT_ERRORS
Muestra una advertencia al usuario que muestra los problemas con el certificado de servidor.
ERROR_INTERNET_SEC_CERT_DATE_INVALID
Indica al usuario que el certificado SSL ha expirado.
ERROR_INTERNET_SEC_CERT_REV_FAILED
Muestra una advertencia al usuario que muestra que se produjo un error en la comprobación de revocación del certificado de servidor.
ERROR_INTERNET_SEC_CERT_REVOKED
Muestra un cuadro de diálogo que indica que se revoca el certificado de servidor.
ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT
Muestra un cuadro de diálogo que indica que no se pudo descargar el script de proxy automático.

[in] dwFlags

Acciones. Este parámetro puede ser uno o más de los siguientes valores.

Value Significado
FLAGS_ERROR_UI_FILTER_FOR_ERRORS
Examina los encabezados devueltos en busca de errores. Llame a InternetErrorDlg con esta marca establecida después de una llamada a HttpSendRequest para detectar errores ocultos. Por ejemplo, los errores de autenticación se ocultan normalmente porque la llamada a HttpSendRequest se completa correctamente, pero al examinar los códigos de estado, InternetErrorDlg puede determinar que el proxy o el servidor requiere autenticación.
FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS
Si la función se realiza correctamente, almacena los resultados del cuadro de diálogo en el identificador de Internet.
FLAGS_ERROR_UI_FLAGS_GENERATE_DATA
Consulta el identificador de Internet para obtener información necesaria. La función construye la estructura de datos adecuada para el error. (Por ejemplo, para errores de CN de certificado, la función toma el certificado).
FLAGS_ERROR_UI_SERIALIZE_DIALOGS
Serializa los cuadros de diálogo de autenticación para las solicitudes simultáneas en una entrada de caché de contraseñas. El parámetro lppvData debe contener la dirección de un puntero a una estructura de INTERNET_AUTH_NOTIFY_DATA y el cliente debe implementar una función de devolución de llamada sin bloqueo y segura para subprocesos.
FLAGS_ERROR_UI_FLAGS_NO_UI
Permite al autor de la llamada pasar NULL al parámetro hWnd sin errores. Para usarse en circunstancias en las que no se requiere ninguna interfaz de usuario.

[in, out] lppvData

Puntero a la dirección de una estructura de datos. La estructura puede ser diferente para cada error que se debe controlar.

Valor devuelto

Devuelve uno de los valores siguientes o, de lo contrario, un valor de error.

Código devuelto Descripción
ERROR_SUCCESS
Si se devuelve este valor, significa que la función se completó correctamente.

Para obtener más información, vea ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED en el parámetro dwError .

ERROR_CANCELLED
El usuario canceló la función.
ERROR_INTERNET_FORCE_RETRY
Esto indica que la función debe rehacer su solicitud. En el caso de la autenticación, esto indica que el usuario ha hecho clic en el botón Aceptar .
ERROR_INVALID_HANDLE
El identificador de la ventana primaria no es válido.

Comentarios

Informe siempre al usuario cuando se produzca cualquiera de los siguientes eventos:

  • 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
A menos que el usuario haya elegido explícitamente no ser informado de estos eventos, si no lo hace, el usuario expone involuntariamente a un riesgo de seguridad significativo.

Al igual que todos los demás aspectos de la API de WinINet, esta función no se puede llamar de forma segura desde DllMain ni desde los constructores y destructores de objetos globales.

Nota WinINet no admite implementaciones de servidor. Además, no se debe usar desde un servicio. En el caso de las implementaciones de servidor o los servicios, use los servicios HTTP de Microsoft Windows (WinHTTP).
 

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wininet.h
Library Wininet.lib
Archivo DLL Wininet.dll

Consulte también

Habilitación de la funcionalidad de Internet

Funciones de WinINet