Функция InternetCloseHandle (wininet.h)

Закрывает один дескриптор Интернета.

Синтаксис

BOOL InternetCloseHandle(
  [in] HINTERNET hInternet
);

Параметры

[in] hInternet

Закрываемая дескриптор.

Возвращаемое значение

Возвращает значение TRUE , если дескриптор успешно закрыт, или false в противном случае. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Функция завершает все ожидающие операции с дескриптором и отменяет все незавершенные данные.

Можно безопасно вызывать InternetCloseHandle , если вызовы API не выполняются или не будут выполняться с помощью дескриптора. После возврата API ERROR_IO_PENDING можно безопасно вызвать InternetCloseHandle для отмены этого ввода-вывода при условии, что последующие вызовы API не будут выдаваться с дескриптором.

Вызов InternetCloseHandle можно безопасно вызвать в обратном вызове для закрываемого дескриптора. Если для закрываемого дескриптора зарегистрирован обратный вызов состояния, а дескриптор был создан со значением контекста, отличном от NULL, будет выполнен обратный вызов INTERNET_STATUS_HANDLE_CLOSING . Это будет последний обратный вызов, выполненный из дескриптора, и указывает, что дескриптор уничтожается.

Если асинхронные запросы ожидают дескриптора или любого из его дочерних дескрипторов, дескриптор не может быть закрыт немедленно, но он будет признан недействительным. Все новые запросы, которые пытались использовать дескриптор, будут возвращаться с уведомлением ERROR_INVALID_HANDLE . Асинхронные запросы завершатся INTERNET_STATUS_REQUEST_COMPLETE. Приложения должны быть готовы к получению любых INTERNET_STATUS_REQUEST_COMPLETE показаний на дескрипторе перед окончательным INTERNET_STATUS_HANDLE_CLOSING указанием, которое означает, что дескриптор полностью закрыт.

Приложение может вызвать GetLastError , чтобы определить, находятся ли запросы в ожидании. Если GetLastError возвращает ERROR_IO_PENDING, при закрытии дескриптора были невыполненные запросы.

Как и все другие аспекты API WinINet, эту функцию нельзя безопасно вызывать из DllMain или конструкторов и деструкторов глобальных объектов.

Примечание WinINet не поддерживает реализации сервера. Кроме того, его не следует использовать из службы. Для серверных реализаций или служб используйте службы Microsoft Windows HTTP (WinHTTP).
 

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header wininet.h
Библиотека Wininet.lib
DLL Wininet.dll

См. также раздел

Включение функциональных возможностей Интернета

FtpFindFirstFile

FtpOpenFile

GopherFindFirstFile

HttpOpenRequest

InternetConnect

Функции WinINet