InternetCloseHandle 函式 (wininet.h)

關閉單一網際網路控制碼。

語法

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 服務 (WinHTTP)
 

規格需求

   
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 wininet.h
程式庫 Wininet.lib
Dll Wininet.dll

另請參閱

啟用網際網路功能

FtpFindFirstFile

FtpOpenFile

GopherFindFirstFile

HttpOpenRequest

InternetConnect

WinINet 函式