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 或全域物件的建構函式和解構函式內安全地呼叫此函式。
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wininet.h |
程式庫 | Wininet.lib |
Dll | Wininet.dll |