функция обратного вызова 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. |
|
Успешно подключен к адресу сокета (SOCKADDR), на который указывает lpvStatusInformation. |
|
Подключение к адресу сокета (SOCKADDR), на который указывает lpvStatusInformation. |
|
Подключение к серверу успешно закрыто. Параметр lpvStatusInformation имеет значение NULL. |
|
Получение содержимого из кэша. Содержит данные о прошлых событиях файлов cookie для URL-адреса, например о том, были ли файлы cookie приняты, отклонены, понижены или на поводке.
Параметр lpvStatusInformation является указателем на структуру InternetCookieHistory . |
|
Указывает количество файлов cookie, которые были приняты, отклонены, понижены (изменены с постоянных файлов cookie на файлы cookie сеанса) или с привязями (будут отправляться только в контексте 1-й стороны). Параметр lpvStatusInformation — это DWORD с количеством полученных файлов cookie. |
|
Указывает количество файлов cookie, которые были отправлены или подавлены при отправке запроса. Параметр lpvStatusInformation — это DWORD с количеством отправленных или подавляемых файлов cookie. |
|
Не реализован. |
|
Уведомляет клиентское приложение об обнаружении прокси-сервера. |
|
Это значение дескриптора было прервано. pvStatusInformation содержит адрес закрываемого дескриптора. Параметр lpvStatusInformation содержит адрес закрываемого дескриптора. |
|
Используется InternetConnect , чтобы указать, что он создал новый дескриптор. Это позволяет приложению вызывать InternetCloseHandle из другого потока, если подключение занимает слишком много времени. Параметр lpvStatusInformation содержит адрес дескриптора HINTERNET . |
|
Получено промежуточное сообщение с кодом состояния (100 уровня) от сервера. |
|
Успешно найден IP-адрес имени, содержащегося в lpvStatusInformation. Параметр lpvStatusInformation указывает на объект PCTSTR , содержащий имя узла. |
|
Ответ содержит заголовок P3P. |
|
Не реализован. |
|
Не реализован. |
|
Не реализован. |
|
Ожидание ответа сервера на запрос. Параметр lpvStatusInformation имеет значение NULL. |
|
HTTP-запрос будет автоматически перенаправлять запрос. Параметр lpvStatusInformation указывает на новый URL-адрес. На этом этапе приложение может считывать любые данные, возвращенные сервером с ответом перенаправления, и может запрашивать заголовки ответа. Он также может отменить операцию, закрыв дескриптор. Этот обратный вызов не выполняется, если исходный запрос, указанный INTERNET_FLAG_NO_AUTO_REDIRECT. |
|
Асинхронная операция завершена. Параметр lpvStatusInformation содержит адрес структуры INTERNET_ASYNC_RESULT . |
|
Запрос сведений успешно отправлен на сервер. Параметр lpvStatusInformation указывает на значение DWORD , содержащее количество отправленных байтов. |
|
Поиск IP-адреса имени, содержащегося в lpvStatusInformation. Параметр lpvStatusInformation указывает на объект PCTSTR , содержащий имя узла. |
|
Успешно получен ответ от сервера. |
|
Отправка запроса информации на сервер. Параметр lpvStatusInformation имеет значение NULL. |
|
Перемещается между защищенным (HTTPS) и небезопасным (HTTP) сайтом. Пользователь должен быть проинформирован об этом изменении; в противном случае пользователь рискует непреднамеренно разглашать конфиденциальную информацию. Если этот флаг установлен, параметр lpvStatusInformation указывает на DWORD состояния, содержащий дополнительные флаги. |
[in] lpvStatusInformation
Указатель на дополнительные сведения о состоянии. Если флаг INTERNET_STATUS_STATE_CHANGE установлен, lpvStatusInformation указывает на DWORD , содержащий один или несколько следующих флагов:
[in] dwStatusInformationLength
Размер (в байтах) данных, на которые указывает lpvStatusInformation.
Возвращаемое значение
None
Remarks
Так как обратные вызовы выполняются во время обработки запроса, приложение должно тратить мало времени на функцию обратного вызова, чтобы избежать снижения пропускной способности данных в сети. Например, отображение диалогового окна в функции обратного вызова может быть такой длительной операцией, что сервер завершает запрос.
Функция обратного вызова может вызываться в контексте потока, отличном от потока, который инициировал запрос.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wininet.h |