Winsock エラーの処理

ほとんどの Windows ソケット 2 関数は、関数が返されるときにエラーの特定の原因を返しません。 一部の Winsock 関数では、成功した場合は 0 の値が返されます。 それ以外の場合は、値 SOCKET_ERROR (-1) が返され、 WSAGetLastError 関数を呼び出すことで特定のエラー番号を取得できます。 ハンドルを返す Winsock 関数の場合、INVALID_SOCKET (0xffff) の戻り値はエラーを示し、 WSAGetLastError を呼び出すことで特定のエラー番号を取得できます。 ポインターを返す Winsock 関数の場合、 NULL の戻り値はエラーを示し、 WSAGetLastError 関数を呼び出すことで特定のエラー番号を取得できます。

Winsock エラー コードは、HRESULT_FROM_WIN32を使用してリモート プロシージャ コール (RPC) で使用するために HRESULT に変換できます。 以前のバージョンのプラットフォーム ソフトウェア開発キット (SDK) では、 HRESULT_FROM_WIN32は Winerror.h ヘッダー ファイルのマクロとして定義されていました。 Microsoft Windows Software Development Kit (SDK) では、HRESULT_FROM_WIN32は Winerror.h ヘッダー ファイルのインライン関数として定義されます。

Windows ソケットのエラー コード