다음을 통해 공유


InternetErrorDlg 함수(wininet.h)

적절한 대화 상자가 있는 경우 InternetErrorDlg에 전달되는 오류에 대한 대화 상자를 표시합니다. FLAGS_ERROR_UI_FILTER_FOR_ERRORS 플래그를 사용하는 경우 함수는 헤더에서 숨겨진 오류를 확인하고 필요한 경우 대화 상자를 표시합니다.

구문

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

매개 변수

[in] hWnd

필요한 대화 상자의 부모 창에 대한 핸들입니다. 대화 상자가 필요하지 않고 dwFlagsFLAGS_ERROR_UI_FLAGS_NO_UI 전달되는 경우 이 매개 변수는 NULL일 수 있습니다.

[in, out] hRequest

HttpSendRequest 호출에 사용되는 인터넷 연결에 대한 핸들입니다.

[in] dwError

대화 상자를 표시할 오류 값입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION
사용자가 리디렉션을 확인할 수 있습니다.
ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT
자동 프록시 스크립트가 잘못되었음을 나타내는 대화 상자를 표시합니다.
ERROR_INTERNET_CHG_POST_IS_NON_SECURE
사용자에게 보안이 아닌 채널에 지정된 데이터를 게시할지 여부를 묻는 대화 상자를 표시합니다.
ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED
서버에서 클라이언트 인증서를 요청하고 있습니다.

이 오류의 반환 값은 사용자가 인증서를 선택했는지 여부에 관계없이 항상 ERROR_SUCCESS. 사용자가 인증서를 선택하지 않은 경우 후속 요청에서 익명 클라이언트 인증이 시도됩니다.

ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR
보안 사이트로 건너가는 영역의 사용자에게 알 수 있습니다.
ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR
보안 사이트에서 교차하는 영역의 사용자에게 알 수 있습니다.
ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR
게시 중인 데이터가 이제 안전하지 않은 사이트로 리디렉션되고 있음을 사용자에게 알 수 있습니다.
ERROR_INTERNET_INCORRECT_PASSWORD
사용자의 이름과 암호를 요청하는 대화 상자를 표시합니다.
ERROR_INTERNET_INVALID_CA
SSL 인증서 일반 이름(호스트 이름 필드)이 올바르지 않음을 나타냅니다. 잘못된 SSL 일반 이름 대화 상자를 표시하고 사용자가 잘못된 인증서를 볼 수 있도록 합니다.
ERROR_INTERNET_MIXED_SECURITY
혼합 보안 및 비보안 콘텐츠와 관련된 경고를 사용자에게 표시합니다.
ERROR_INTERNET_POST_IS_NON_SECURE
사용자에게 보안이 아닌 채널에 지정된 데이터를 게시할지 여부를 묻는 대화 상자를 표시합니다.
ERROR_INTERNET_SEC_CERT_CN_INVALID
SSL 인증서 일반 이름(호스트 이름 필드)이 올바르지 않음을 나타냅니다. 잘못된 SSL 일반 이름 대화 상자를 표시하고 사용자가 잘못된 인증서를 볼 수 있도록 합니다. 또한 사용자가 서버 요청에 대한 응답으로 인증서를 선택할 수 있습니다.
ERROR_INTERNET_SEC_CERT_ERRORS
서버 인증서와 관련된 문제를 표시하는 사용자에게 경고를 표시합니다.
ERROR_INTERNET_SEC_CERT_DATE_INVALID
사용자에게 SSL 인증서가 만료되었음을 알릴 수 있습니다.
ERROR_INTERNET_SEC_CERT_REV_FAILED
서버 인증서의 해지 검사 실패했음을 보여 주는 경고를 사용자에게 표시합니다.
ERROR_INTERNET_SEC_CERT_REVOKED
서버 인증서가 해지되었음을 나타내는 대화 상자를 표시합니다.
ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT
자동 프록시 스크립트를 다운로드할 수 없음을 나타내는 대화 상자를 표시합니다.

[in] dwFlags

동작. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.

의미
FLAGS_ERROR_UI_FILTER_FOR_ERRORS
반환된 헤더에서 오류를 검사합니다. 숨겨진 오류를 검색하기 위해 HttpSendRequest를 호출한 후 이 플래그가 설정된 InternetErrorDlg를 호출합니다. 예를 들어 HttpSendRequest에 대한 호출이 성공적으로 완료되기 때문에 인증 오류는 일반적으로 숨겨지지만 상태 코드를 검사하면 InternetErrorDlg에서 프록시 또는 서버에 인증이 필요한지 확인할 수 있습니다.
FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS
함수가 성공하면 대화 상자의 결과를 인터넷 핸들에 저장합니다.
FLAGS_ERROR_UI_FLAGS_GENERATE_DATA
필요한 정보를 인터넷 핸들에 쿼리합니다. 함수는 오류에 대한 적절한 데이터 구조를 생성합니다. (예를 들어 Cert CN 오류의 경우 함수는 인증서를 가져옵니다.)
FLAGS_ERROR_UI_SERIALIZE_DIALOGS
암호 캐시 항목에 대한 동시 요청에 대한 인증 대화 상자를 직렬화합니다. lppvData 매개 변수는 INTERNET_AUTH_NOTIFY_DATA 구조에 대한 포인터의 주소를 포함해야 하며 클라이언트는 스레드로부터 안전한 비차단 콜백 함수를 구현해야 합니다.
FLAGS_ERROR_UI_FLAGS_NO_UI
호출자가 오류 없이 hWnd 매개 변수에 NULL을 전달할 수 있습니다. 사용자 인터페이스가 필요하지 않은 상황에서 사용할 수 있습니다.

[in, out] lppvData

데이터 구조의 주소에 대한 포인터입니다. 처리해야 하는 각 오류에 대해 구조가 다를 수 있습니다.

반환 값

다음 값 중 하나를 반환하거나, 그렇지 않으면 오류 값을 반환합니다.

반환 코드 설명
ERROR_SUCCESS
함수가 성공적으로 완료되었습니다.

자세한 내용은 dwError 매개 변수의 ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED 참조하세요.

ERROR_CANCELLED
사용자가 함수를 취소했습니다.
ERROR_INTERNET_FORCE_RETRY
이는 함수가 요청을 다시 실행해야 했음을 나타냅니다. 인증의 경우 사용자가 확인 단추를 클릭했음을 나타냅니다.
ERROR_INVALID_HANDLE
부모 창에 대한 핸들이 잘못되었습니다.

설명

다음 이벤트가 발생할 때 항상 사용자에게 알릴 수 있습니다.

  • 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
사용자가 이러한 이벤트를 알리지 않도록 명시적으로 선택하지 않는 한, 이를 수행하지 않으면 사용자가 무의식적으로 심각한 보안 위험에 노출됩니다.

WinINet API의 다른 모든 측면과 마찬가지로 이 함수는 DllMain 내에서 또는 전역 개체의 생성자 및 소멸자에서 안전하게 호출할 수 없습니다.

참고 WinINet은 서버 구현을 지원하지 않습니다. 또한 서비스에서 사용하지 않아야 합니다. 서버 구현 또는 서비스의 경우 WinHTTP(Microsoft Windows HTTP 서비스)를 사용합니다.
 

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 wininet.h
라이브러리 Wininet.lib
DLL Wininet.dll

추가 정보

인터넷 기능 사용

WinINet 함수