InternetCloseHandle 関数 (wininet.h)
1 つのインターネット ハンドルを閉じます。
構文
BOOL InternetCloseHandle(
[in] HINTERNET hInternet
);
パラメーター
[in] hInternet
閉じるハンドル。
戻り値
ハンドルが正常に閉じられた場合は TRUE 、それ以外の場合は FALSE を 返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
この関数は、ハンドルに対する保留中の操作を終了し、未処理のデータを破棄します。
API 呼び出しが行われなかったり、ハンドルを使用して行われたりしない限り、 InternetCloseHandle を呼び出しても安全です。 API が ERROR_IO_PENDING返されたら、後続の API 呼び出しがハンドルで発行されない限り、 InternetCloseHandle を呼び出して、その I/O を取り消しても安全です。
閉じているハンドルのコールバックで 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 |