WSAGetLastError 関数 (winsock.h)
WSAGetLastError 関数は、失敗した最後の Windows ソケット操作のエラー状態を返します。
構文
int WSAGetLastError();
戻り値
戻り値は、失敗したこのスレッドの最後の Windows ソケット操作のエラー コードを示します。
解説
WSAGetLastError 関数は、呼び出し元スレッドで発生した最後のエラーを返します。 特定の Windows ソケット関数がエラーが発生したことを示す場合は、この関数をすぐに呼び出して、失敗した関数呼び出しの拡張エラー コードを取得する必要があります。 この拡張エラー コードは、SO_ERROR の optname パラメーターを使用して呼び出されたときに getsockopt から取得されたエラー コードとは異なる場合があります。これは、WSAGetLastError はすべてのスレッド固有のソケット用であるため、ソケット固有です。
関数呼び出しの戻り値がエラーまたはその他の関連データがエラー コードで返されたことを示す場合は、 WSAGetLastError を直ちに呼び出す必要があります。 これは、一部の関数が成功した場合に最後の拡張エラー コードを 0 にリセットし、以前に失敗した関数によって返された拡張エラー コードを上書きする可能性があるために必要です。 拡張エラー コードを具体的にリセットするには、 WSASetLastError 関数呼び出しを使用し、 iError パラメーターを 0 に設定します。 optname パラメーターを SO_ERROR で呼び出すと、getsockopt 関数も拡張エラー コードを 0 にリセットします。
WSAGetLastError 関数を使用して、非同期メッセージの受信時に拡張エラー値をチェックしないでください。 この場合、拡張エラー値はメッセージの lParam パラメーターで渡され、 WSAGetLastError によって返される値とは異なる場合があります。
この関数によって返される Windows ソケット拡張エラー コードとエラーのテキストの説明は、 Windows ソケット エラー コードの下に一覧表示されます。 これらのエラー コードと、エラー コードに関連付けられている短いテキストの説明は、 Winerror.h ヘッダー ファイルで定義されています。 FormatMessage 関数を使用して、返されたエラーのメッセージ文字列を取得できます。
ソケット アプリケーションを Winsock に移植するときにエラー コードを処理する方法については、「 エラー コード - errno、h_errno、WSAGetLastError」を参照してください。
Windows Phone 8: この関数は、Windows Phone 8 以降の Windows Phone ストア アプリでサポートされています。
Windows 8.1と Windows Server 2012 R2: この関数は、Windows 8.1、Windows Server 2012 R2 以降の Windows ストア アプリでサポートされています。
要件
サポートされている最小のクライアント | Windows 8.1、Windows Vista [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | winsock.h (Winsock2.h を含む) |
Library | Ws2_32.lib |
[DLL] | Ws2_32.dll |