다음을 통해 공유


InternetSetStatusCallback 함수(wininet.h)

InternetSetStatusCallback 함수는 작업 중에 진행률이 수행되면 WinINet 함수가 호출할 수 있는 콜백 함수를 설정합니다.

구문

INTERNET_STATUS_CALLBACK InternetSetStatusCallback(
  [in] HINTERNET                hInternet,
  [in] INTERNET_STATUS_CALLBACK lpfnInternetCallback
);

매개 변수

[in] hInternet

콜백이 설정된 핸들입니다.

[in] lpfnInternetCallback

진행이 이루어질 때 호출할 콜백 함수에 대한 포인터 또는 기존 콜백 함수를 제거하기 위한 NULL 입니다. 콜백 함수에 대한 자세한 내용은 InternetStatusCallback을 참조하세요.

반환 값

성공하면 이전에 정의된 상태 콜백 함수를 반환하고, 이전에 정의된 상태 콜백 함수가 없는 경우 NULL을 반환하거나, 콜백 함수가 유효하지 않은 경우 INTERNET_INVALID_STATUS_CALLBACK 반환합니다.

설명

동기 함수와 비동기 함수는 모두 콜백 함수를 사용하여 이름 확인, 서버 연결 등과 같은 요청 진행률을 나타냅니다. 콜백 함수는 비동기 작업에 필요합니다. 비동기 요청은 요청이 완료되었음을 나타내기 위해 INTERNET_STATUS_REQUEST_COMPLETE 사용하여 애플리케이션에 다시 호출합니다.

콜백 함수는 모든 핸들에서 설정할 수 있으며 파생 핸들에 의해 상속됩니다. 이전 콜백 값을 사용해야 하는 보류 중인 요청이 없으므로 InternetSetStatusCallback을 사용하여 콜백 함수를 변경할 수 있습니다. 그러나 핸들에서 콜백 함수를 변경해도 InternetConnect에서 반환된 것과 같은 파생 핸들의 콜백은 변경되지 않습니다. 각 수준에서 콜백 함수를 변경해야 합니다.

대부분의 WinINet 함수는 네트워크에서 여러 작업을 수행합니다. 각 작업을 완료하는 데 시간이 걸릴 수 있으며 각 작업이 실패할 수 있습니다.

장기 작업 중에 상태 정보를 표시하는 것이 바람직한 경우가 있습니다. 콜백 또는 비동기 함수가 보류 중인 한 제거할 수 없는 인터넷 상태 콜백 함수를 설정하여 상태 정보를 표시할 수 있습니다.

InternetSetStatusCallback을 시작한 후 시간이 많이 걸리는 네트워크 작업을 모니터링하기 위해 WinINet 함수 내에서 콜백 함수에 액세스할 수 있습니다.

참고httpOpenRequest의 dwContext 매개 변수가 0(INTERNET_NO_CALLBACK)으로 설정되거나 InternetConnectdwContext 핸들이 0(INTERNET_NO_CALLBACK)으로 설정된 경우 lpfnInternetCallback 매개 변수에 지정된 콜백 함수는 요청 핸들에 대한 비동 기 작업에서 호출되지 않습니다.

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

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

요구 사항

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

추가 정보

공통 함수

InternetStatusCallback

WinINet 함수