InternetCloseHandle 函数 (wininet.h)

关闭单个 Internet 句柄。

语法

BOOL InternetCloseHandle(
  [in] HINTERNET hInternet
);

参数

[in] hInternet

要关闭的句柄。

返回值

如果成功关闭句柄,则返回 TRUE ;否则返回 FALSE 。 要获得更多的错误信息,请调用 GetLastError。

注解

函数终止对句柄的任何挂起操作,并放弃任何未完成的数据。

只要没有进行或将使用 句柄进行 API 调用,就可以安全地调用 InternetCloseHandle 。 API 返回ERROR_IO_PENDING后,可以安全地调用 InternetCloseHandle 来取消该 I/O,只要不会使用句柄发出后续 API 调用。

在回调中为要关闭的句柄调用 InternetCloseHandle 是安全的。 如果为正在关闭的句柄注册了状态回调,并且该句柄是使用非 NULL 上下文值创建的,则将进行 INTERNET_STATUS_HANDLE_CLOSING 回调。 此指示将是从句柄进行的最后一次回调,并指示句柄正在销毁。

如果句柄或其任何子句柄的异步请求处于挂起状态,则不能立即关闭句柄,但该句柄将失效。 尝试使用 句柄的任何新请求都将返回 ERROR_INVALID_HANDLE 通知。 异步请求将以 INTERNET_STATUS_REQUEST_COMPLETE完成。 在发出最终 INTERNET_STATUS_HANDLE_CLOSING 指示之前,应用程序必须准备好在句柄上接收任何 INTERNET_STATUS_REQUEST_COMPLETE 指示,这指示句柄已完全关闭。

应用程序可以调用 GetLastError 来确定请求是否处于挂起状态。 如果 GetLastError 返回 ERROR_IO_PENDING,则表示关闭句柄时存在未完成的请求。

与 WinINet API 的所有其他方面一样,无法从 DllMain 或全局对象的构造函数和析构函数中安全地调用此函数。

注意 WinINet 不支持服务器实现。 此外,不应从服务使用它。 对于服务器实现或服务,请使用 Microsoft Windows HTTP Services (WinHTTP)
 

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 wininet.h
Library Wininet.lib
DLL Wininet.dll

另请参阅

启用 Internet 功能

FtpFindFirstFile

FtpOpenFile

GopherFindFirstFile

HttpOpenRequest

InternetConnect

WinINet 函数