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 或全局对象的构造函数和析构函数中安全地调用此函数。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wininet.h |
Library | Wininet.lib |
DLL | Wininet.dll |