Функция WSAGetLastError (winsock2.h)
Функция WSAGetLastError возвращает состояние ошибки для последней операции Windows Sockets, которая завершилась сбоем.
Синтаксис
int WSAAPI WSAGetLastError();
Возвращаемое значение
Возвращаемое значение указывает код ошибки для последней операции сокетов Windows в этом потоке, которая завершилась сбоем.
Комментарии
Функция WSAGetLastError возвращает последнюю ошибку, которая произошла для вызывающего потока. Если определенная функция Windows Sockets указывает на ошибку, эту функцию следует вызывать немедленно, чтобы получить расширенный код ошибки для вызова функции, завершиющейся сбоем. Этот расширенный код ошибки может отличаться от кода ошибки, полученного из getockopt при вызове с параметром optnameSO_ERROR, который зависит от сокета, так как WSAGetLastError предназначен для всех сокетов, зависящих от потока.
Если возвращаемое значение вызова функции указывает на то, что в коде ошибки были возвращены ошибки или другие соответствующие данные, следует немедленно вызвать WSAGetLastError . Это необходимо, так как некоторые функции могут сбросить последний расширенный код ошибки до 0, если они будут выполнены успешно, перезаписав расширенный код ошибки, возвращенный ранее неудавшейся функцией. Чтобы сбросить расширенный код ошибки, используйте вызов функции WSASetLastError с параметром iError , равным нулю. Функция getsockopt при вызове с параметром optnameSO_ERROR также сбрасывает расширенный код ошибки до нуля.
Функция WSAGetLastError не должна использоваться для проверка расширенного значения ошибки при получении асинхронного сообщения. В этом случае расширенное значение ошибки передается в параметре lParam сообщения, и оно может отличаться от значения, возвращаемого WSAGetLastError.
Расширенные коды ошибок сокетов Windows, возвращаемые этой функцией, и текстовое описание ошибки перечислены в разделе Коды ошибок сокетов Windows. Эти коды ошибок и краткое текстовое описание, связанное с кодом ошибки, определяются в файле заголовка Winerror.h . Функцию FormatMessage можно использовать для получения строки сообщения для возвращаемой ошибки.
Сведения о том, как обрабатывать коды ошибок при переносе приложений сокетов в Winsock, см. в разделе Коды ошибок — errno, h_errno и WSAGetLastError.
Windows Phone 8. Эта функция поддерживается для приложений Магазина Windows Phone на Windows Phone 8 и более поздних версиях.
Windows 8.1 и Windows Server 2012 R2: эта функция поддерживается для приложений Магазина Windows на Windows 8.1, Windows Server 2012 R2 и более поздних версий.
Требования
Минимальная версия клиента | Windows 8.1, Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winsock2.h (включая Winsock2.h) |
Библиотека | Ws2_32.lib |
DLL | Ws2_32.dll |