INTERNET_STATUS_CALLBACK 콜백 함수(wininet.h)
애플리케이션 정의 상태 콜백 함수의 프로토타입입니다.
INTERNET_STATUS_CALLBACK 형식은 이 콜백 함수에 대한 포인터를 정의합니다. InternetStatusCallback은 애플리케이션 정의 함수 이름의 자리 표시자입니다.
구문
INTERNET_STATUS_CALLBACK InternetStatusCallback;
void InternetStatusCallback(
[in] HINTERNET hInternet,
[in] DWORD_PTR dwContext,
[in] DWORD dwInternetStatus,
[in] LPVOID lpvStatusInformation,
[in] DWORD dwStatusInformationLength
)
{...}
매개 변수
[in] hInternet
콜백 함수가 호출되는 핸들입니다.
[in] dwContext
hInternet과 연결된 애플리케이션 정의 컨텍스트 값을 지정하는 변수에 대한 포인터입니다.
[in] dwInternetStatus
콜백 함수가 호출되는 이유를 나타내는 상태 코드입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
서버에 대한 연결을 닫습니다. lpvStatusInformation 매개 변수는 NULL입니다. |
|
lpvStatusInformation에서 가리키는 소켓 주소(SOCKADDR)에 성공적으로 연결되었습니다. |
|
lpvStatusInformation에서 가리키는 소켓 주소(SOCKADDR)에 연결합니다. |
|
서버에 대한 연결을 성공적으로 닫습니다. lpvStatusInformation 매개 변수는 NULL입니다. |
|
캐시에서 콘텐츠 검색 쿠키가 수락, 거부, 다운그레이드 또는 끈으로 묶인 경우와 같이 URL에 대한 과거 쿠키 이벤트에 대한 데이터를 포함합니다.
lpvStatusInformation 매개 변수는 InternetCookieHistory 구조체에 대한 포인터입니다. |
|
수락, 거부, 다운그레이드(영구 쿠키에서 세션 쿠키로 변경됨) 또는 끈으로 묶인 쿠키의 수를 나타냅니다(첫 번째 당사자 컨텍스트에서만 전송됨). lpvStatusInformation 매개 변수는 수신된 쿠키 수가 있는 DWORD입니다. |
|
요청이 전송될 때 전송되거나 표시되지 않는 쿠키의 수를 나타냅니다. lpvStatusInformation 매개 변수는 전송되거나 표시되지 않는 쿠키 수가 있는 DWORD입니다. |
|
구현되지 않았습니다. |
|
프록시가 검색되었음을 클라이언트 애플리케이션에 알 수 있습니다. |
|
이 핸들 값이 종료되었습니다. pvStatusInformation에는 닫히는 핸들의 주소가 포함됩니다. lpvStatusInformation 매개 변수는 닫히는 핸들의 주소를 포함합니다. |
|
InternetConnect에서 새 핸들을 만들었음을 나타내는 데 사용됩니다. 이렇게 하면 연결 시간이 너무 오래 걸리는 경우 애플리케이션이 다른 스레드에서 InternetCloseHandle 을 호출할 수 있습니다. lpvStatusInformation 매개 변수에는 HINTERNET 핸들의 주소가 포함됩니다. |
|
서버에서 중간(100 수준) 상태 코드 메시지를 받았습니다. |
|
lpvStatusInformation에 포함된 이름의 IP 주소를 찾았습니다. lpvStatusInformation 매개 변수는 호스트 이름이 포함된 PCTSTR을 가리킵니다. |
|
응답에는 P3P 헤더가 있습니다. |
|
구현되지 않았습니다. |
|
구현되지 않았습니다. |
|
구현되지 않았습니다. |
|
서버가 요청에 응답할 때까지 대기합니다. lpvStatusInformation 매개 변수는 NULL입니다. |
|
HTTP 요청이 요청을 자동으로 리디렉션하려고 합니다. lpvStatusInformation 매개 변수는 새 URL을 가리킵니다. 이 시점에서 애플리케이션은 리디렉션 응답을 사용하여 서버에서 반환된 모든 데이터를 읽고 응답 헤더를 쿼리할 수 있습니다. 핸들을 닫아 작업을 취소할 수도 있습니다. 지정된 원래 요청이 INTERNET_FLAG_NO_AUTO_REDIRECT 경우 이 콜백이 수행되지 않습니다. |
|
비동기 작업이 완료되었습니다. lpvStatusInformation 매개 변수에는 INTERNET_ASYNC_RESULT 구조체의 주소가 포함됩니다. |
|
서버로 정보 요청을 성공적으로 보냈습니다. lpvStatusInformation 매개 변수는 전송된 바이트 수를 포함하는 DWORD 값을 가리킵니다. |
|
lpvStatusInformation에 포함된 이름의 IP 주소를 조회합니다. lpvStatusInformation 매개 변수는 호스트 이름이 포함된 PCTSTR을 가리킵니다. |
|
서버에서 응답을 받았습니다. |
|
서버에 정보 요청을 보냅니다. lpvStatusInformation 매개 변수는 NULL입니다. |
|
보안(HTTPS)과 비보안(HTTP) 사이트 간에 이동되었습니다. 사용자에게 이 변경 사항을 알려야 합니다. 그렇지 않으면 사용자는 중요한 정보를 무의식적으로 공개할 위험이 있습니다. 이 플래그가 설정되면 lpvStatusInformation 매개 변수는 추가 플래그가 포함된 상태 DWORD를 가리킵니다. |
[in] lpvStatusInformation
추가 상태 정보에 대한 포인터입니다. INTERNET_STATUS_STATE_CHANGE 플래그가 설정되면 lpvStatusInformation은 다음 플래그 중 하나 이상이 포함된 DWORD를 가리킵니다.
[in] dwStatusInformationLength
lpvStatusInformation에서 가리키는 데이터의 크기(바이트)입니다.
반환 값
없음
설명
콜백은 요청을 처리하는 동안 이루어지므로 애플리케이션은 네트워크에서 데이터 처리량 저하를 방지하기 위해 콜백 함수에 약간의 시간을 할애해야 합니다. 예를 들어 콜백 함수에 대화 상자를 표시하는 작업은 서버가 요청을 종료하는 긴 작업일 수 있습니다.
콜백 함수는 요청을 시작한 스레드와 다른 스레드 컨텍스트에서 호출할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | wininet.h |