closesocket 関数 (winsock.h) は、既存のソケットを閉じる。
closesocket s
s : [int] 閉じるソケットを識別する記述子。
(プラグイン / モジュール : ws2_32.dll)
closesocket 関数 (winsock.h) は、既存のソケットを閉じる。 [戻り値] エラーがない場合、closesocket はゼロを返す。そうでない場合は SOCKET_ERROR が返され、WSAGetLastError で特定のエラーコードを取得できる。 このドキュメントは省略されている。 [備考] closesocket 関数はソケットを閉じる。s 引数に渡したソケット記述子を解放するために使う。closesocket 発行直後に、その記述子はシステムによって再利用される可能性がある。そのため、同記述子への以降の参照が WSAENOTSOCK で失敗することを期待するのは信頼性がない。Winsock クライアントは、他の Winsock 関数呼び出しと同時に同じ s に対して closesocket を発行してはならない。このプロセスの任意スレッドが発行した、オーバーラップソケット上の保留中オーバーラップ send/receive 操作 (WSASend / WSASendTo / WSARecv / WSARecvFrom) はすべてキャンセルされる。これらに対して指定されたイベント、完了ルーチン、完了ポートアクションは実行される。保留中のオーバーラップ操作は WSA_OPERATION_ABORTED エラーステータスで失敗する。closesocket が戻った時点で未完了 I/O 操作のすべてが保証付きで完了しているとは仮定すべきではない。closesocket は保留中 I/O のキャンセルを開始するが、それが完了することまで保証するわけではない。したがって未完了 I/O で参照されている資源 (WSAOVERLAPPED 構造体など) は、I/O が実際に完了するまでクリーンアップしてはならない。 ソケット資源をシステムに返却するため、socket の各成功呼び出しに対して対応する closesocket 呼び出しを常に行うべきである。linger 構造体は、データ送信待ちのキューがある状態で closesocket が呼ばれたときのソケット挙動を指定する情報を保持する。linger 構造体の l_onoff メンバは、指定時間の間ソケットを開いたままにするかを決める このドキュメントは省略されている。
| プラグイン / モジュール | ws2_32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の ws2_32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_ws2_32_gen2.hs |