接続済みソケットまたはバインド済みコネクションレスソケットからデータを受信する。(WSARecv)
WSARecv s, lpBuffers, dwBufferCount, lpNumberOfBytesRecvd, lpFlags, lpOverlapped, lpCompletionRoutine
s : [int] 接続済みソケットを識別する記述子。 lpBuffers : [var] WSABUF 構造体の配列へのポインタ。各 WSABUF 構造体はバッファへのポインタとそのバイト長を含む。 dwBufferCount : [int] lpBuffers 配列内の WSABUF 構造体の数。 lpNumberOfBytesRecvd : [var] 受信操作が即時完了した場合に、この呼び出しで受信したバイト数へのポインタ。lpOverlapped が NULL でない場合、誤った結果を避けるために本引数を NULL にする。本引数を NULL にできるのは lpOverlapped が NULL でない場合のみ。 lpFlags : [var] WSARecv の動作を変更するためのフラグへのポインタ。詳細は備考を参照。 lpOverlapped : [var] WSAOVERLAPPED 構造体へのポインタ (非オーバーラップソケットでは無視される)。 lpCompletionRoutine : [int] 型: \_In_opt\_ [**LPWSAOVERLAPPED_COMPLETION_ROUTINE**](./nc-winsock2-lpwsaoverlapped_completion_routine.md) 受信操作が完了した時に呼び出される完了ルーチンへのポインタ (非オーバーラップソケットでは無視される)。
(プラグイン / モジュール : ws2_32.dll)
接続済みソケットまたはバインド済みコネクションレスソケットからデータを受信する。(WSARecv) [戻り値] エラーがなく受信操作が即時完了した場合、WSARecv はゼロを返す。この場合、呼び出し元スレッドがアラート可能状態になった時点で完了ルーチンが呼び出されるようスケジュール済みとなる。そうでない場合は SOCKET_ERROR が返され、WSAGetLastError で特定のエラーコードを取得できる。WSA_IO_PENDING エラーコードは、オーバーラップ操作が正常に開始され、完了が後で通知されることを示す。それ以外のエラーコードはオーバーラップ操作が正常に開始されず、完了通知は発生しないことを示す。 このドキュメントは省略されている。 [備考] WSARecv 関数は、標準の recv 関数と比べて次の 3 つの重要な領域で追加機能を提供する。 このドキュメントは省略されている。
| プラグイン / モジュール | 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 |