InternetSetStatusCallback

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This function sets up a callback function that WinInet functions can call as progress is made during an operation.

Syntax

INTERNET_STATUS_CALLBACK WINAPI InternetSetStatusCallback(
  HINTERNET hInternet, 
  INTERNET_STATUS_CALLBACK lpfnInternetCallback
);

Parameters

  • hInternet
    [in] Handle for which the callback is to be set.
  • lpfnInternetCallback
    [in] Long pointer to the callback function to call when progress is made, or to return NULL to remove the existing callback function. For more information about the callback function, see INTERNET_STATUS_CALLBACK.

Return Value

The previously defined status callback function indicates success. NULL indicates that there was no previously defined status callback function. INTERNET_INVALID_STATUS_CALLBACK indicates that the callback function is not valid.

Remarks

SetStatusCallback supports most features of the corresponding WinInet function. The new status callback is exchanged with the old status callback. An application uses the callback function to indicate the progress of synchronous and asynchronous functions and to indicate the completion of an asynchronous request. In Windows Embedded CE only InternetReadFile and InternetQueryDataAvailable support asynchronous operations.

The status callback is used to indicate status to the application. The asynchronous request completion status is only supported for the functions with asynchronous completion: InternetReadFile and InternetQueryDataAvailable.

Both synchronous and asynchronous functions use the callback function to indicate the progress of the request, such as resolving a name, connecting to a server, and so on. The callback function is required for an asynchronous operation. The asynchronous request will call back to the application with INTERNET_STATUS_REQUEST_COMPLETE to indicate the request has been completed.

A callback function can be set on any handle, and is inherited by derived handles. A callback function can be changed using InternetSetStatusCallback, providing there are no pending requests that need to use the previous callback value. Note, however, that changing the callback function on a handle does not change the callbacks on derived handles, such as that returned by InternetConnect. You must change the callback function at each level.

Many of the WinInet functions perform several operations on the network. Each operation can take time to complete, and each can fail.

It is sometimes desirable to display status information during a long-term operation. You can display status information by setting up an Internet status callback function that cannot be removed as long as any callbacks or any asynchronous functions are pending.

After initiating InternetSetStatusCallback, the callback function can be accessed from within any WinInet function for monitoring time-intensive network operations.

Requirements

Header wininet.h
Library wininet.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

InternetConnect
InternetReadFile
InternetQueryDataAvailable
INTERNET_STATUS_CALLBACK
WinInet Functions