Função InternetErrorDlg (wininet.h)

Exibe uma caixa de diálogo para o erro que é passado para InternetErrorDlg, se houver uma caixa de diálogo apropriada. Se o sinalizador FLAGS_ERROR_UI_FILTER_FOR_ERRORS for usado, a função também verificará se há erros ocultos nos cabeçalhos e exibe uma caixa de diálogo, se necessário.

Sintaxe

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

Parâmetros

[in] hWnd

Manipule para a janela pai para qualquer caixa de diálogo necessária. Se nenhuma caixa de diálogo for necessária e FLAGS_ERROR_UI_FLAGS_NO_UI for passada para dwFlags, esse parâmetro poderá ser NULL.

[in, out] hRequest

Manipule para a conexão com a Internet usada na chamada para HttpSendRequest.

[in] dwError

Valor de erro para o qual exibir uma caixa de diálogo. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION
Permite que o usuário confirme o redirecionamento.
ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT
Exibe uma caixa de diálogo indicando que o script de proxy automático é inválido.
ERROR_INTERNET_CHG_POST_IS_NON_SECURE
Exibe uma caixa de diálogo perguntando ao usuário se deseja postar os dados especificados em um canal não seguro.
ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED
O servidor está solicitando um certificado do cliente.

O valor retornado para esse erro é sempre ERROR_SUCCESS, independentemente de o usuário ter selecionado ou não um certificado. Se o usuário não tiver selecionado um certificado, a autenticação anônima do cliente será tentada na solicitação subsequente.

ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR
Notifica o usuário da passagem de zona para um site seguro.
ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR
Notifica o usuário da passagem de zona de um site seguro.
ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR
Notifica o usuário de que os dados que estão sendo postados agora estão sendo redirecionados para um site não seguro.
ERROR_INTERNET_INCORRECT_PASSWORD
Exibe uma caixa de diálogo solicitando o nome e a senha do usuário.
ERROR_INTERNET_INVALID_CA
Indica que o nome comum do certificado SSL (campo nome do host) está incorreto. Exibe uma caixa de diálogo Nome Comum SSL Inválido e permite que o usuário exiba o certificado incorreto.
ERROR_INTERNET_MIXED_SECURITY
Exibe um aviso para o usuário sobre conteúdo misto seguro e não seguro.
ERROR_INTERNET_POST_IS_NON_SECURE
Exibe uma caixa de diálogo perguntando ao usuário se deseja postar os dados especificados em um canal não seguro.
ERROR_INTERNET_SEC_CERT_CN_INVALID
Indica que o nome comum do certificado SSL (campo nome do host) está incorreto. Exibe uma caixa de diálogo Nome Comum SSL Inválido e permite que o usuário exiba o certificado incorreto. Também permite que o usuário selecione um certificado em resposta a uma solicitação de servidor.
ERROR_INTERNET_SEC_CERT_ERRORS
Exibe um aviso para o usuário mostrando os problemas com o certificado do servidor.
ERROR_INTERNET_SEC_CERT_DATE_INVALID
Informa ao usuário que o certificado SSL expirou.
ERROR_INTERNET_SEC_CERT_REV_FAILED
Exibe um aviso para o usuário mostrando que a revogação do certificado do servidor marcar falhou.
ERROR_INTERNET_SEC_CERT_REVOKED
Exibe uma caixa de diálogo indicando que o certificado do servidor foi revogado.
ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT
Exibe uma caixa de diálogo indicando que o script de proxy automático não pôde ser baixado.

[in] dwFlags

Ações. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
FLAGS_ERROR_UI_FILTER_FOR_ERRORS
Examina os cabeçalhos retornados em busca de erros. Chame InternetErrorDlg com esse sinalizador definido após uma chamada para HttpSendRequest para detectar erros ocultos. Os erros de autenticação, por exemplo, normalmente ficam ocultos porque a chamada para HttpSendRequest é concluída com êxito, mas examinando os códigos de status, o InternetErrorDlg pode determinar que o proxy ou servidor requer autenticação.
FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS
Se a função for bem-sucedida, armazenará os resultados da caixa de diálogo no identificador da Internet.
FLAGS_ERROR_UI_FLAGS_GENERATE_DATA
Consulta o identificador da Internet para obter as informações necessárias. A função constrói a estrutura de dados apropriada para o erro. (Por exemplo, para falhas Cert CN, a função captura o certificado.)
FLAGS_ERROR_UI_SERIALIZE_DIALOGS
Serializa caixas de diálogo de autenticação para solicitações simultâneas em uma entrada de cache de senha. O parâmetro lppvData deve conter o endereço de um ponteiro para uma estrutura INTERNET_AUTH_NOTIFY_DATA e o cliente deve implementar uma função de retorno de chamada sem bloqueio e thread.
FLAGS_ERROR_UI_FLAGS_NO_UI
Permite que o chamador passe NULL para o parâmetro hWnd sem erro. Para ser usado em circunstâncias em que nenhuma interface do usuário é necessária.

[in, out] lppvData

Ponteiro para o endereço de uma estrutura de dados. A estrutura pode ser diferente para cada erro que precisa ser tratado.

Valor retornado

Retorna um dos valores a seguir ou um valor de erro, caso contrário.

Código de retorno Descrição
ERROR_SUCCESS
A função foi concluída com êxito.

Para obter mais informações, consulte ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED no parâmetro dwError .

ERROR_CANCELLED
A função foi cancelada pelo usuário.
ERROR_INTERNET_FORCE_RETRY
Isso indica que a função precisa refazer sua solicitação. No caso da autenticação, isso indica que o usuário clicou no botão OK .
ERROR_INVALID_HANDLE
O identificador para a janela pai é inválido.

Comentários

Sempre informe o usuário quando qualquer um dos seguintes eventos ocorrer:

  • 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 o usuário tenha explicitamente escolhido não ser informado desses eventos, a falha ao fazê-lo expõe o usuário involuntariamente a um risco de segurança significativo.

Como todos os outros aspectos da API WinINet, essa função não pode ser chamada com segurança de dentro do DllMain ou dos construtores e destruidores de objetos globais.

Nota O WinINet não dá suporte a implementações de servidor. Além disso, ele não deve ser usado de um serviço. Para implementações de servidor ou serviços, use Os Serviços HTTP do Microsoft Windows (WinHTTP).
 

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wininet.h
Biblioteca Wininet.lib
DLL Wininet.dll

Confira também

Habilitando a funcionalidade da Internet

Funções WinINet