WSAGetLastError 함수(winsock2.h)
WSAGetLastError 함수는 실패한 마지막 Windows 소켓 작업에 대한 오류 상태 반환합니다.
구문
int WSAAPI WSAGetLastError();
반환 값
반환 값은 실패한 이 스레드의 마지막 Windows 소켓 작업에 대한 오류 코드를 나타냅니다.
설명
WSAGetLastError 함수는 호출 스레드에 대해 발생한 마지막 오류를 반환합니다. 특정 Windows Sockets 함수가 오류가 발생했음을 나타내는 경우 이 함수를 즉시 호출하여 실패한 함수 호출에 대한 확장된 오류 코드를 검색해야 합니다. 이 확장 오류 코드는 wSAGetLastError가 모든 스레드별 소켓에 대해 이므로 소켓별인 SO_ERRORoptname 매개 변수를 사용하여 호출될 때 getsockopt에서 가져온 오류 코드와 다를 수 있습니다.
함수 호출의 반환 값이 오류 또는 기타 관련 데이터가 오류 코드에서 반환되었음을 나타내는 경우 WSAGetLastError 를 즉시 호출해야 합니다. 이는 일부 함수가 성공하면 마지막 확장 오류 코드를 0으로 다시 설정하여 이전에 실패한 함수에서 반환한 확장 오류 코드를 덮어쓸 수 있기 때문에 필요합니다. 확장된 오류 코드를 구체적으로 다시 설정하려면 iError 매개 변수가 0으로 설정된 WSASetLastError 함수 호출을 사용합니다. SO_ERRORoptname 매개 변수를 사용하여 호출되는 경우 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 |
헤더 | winsock2.h(Winsock2.h 포함) |
라이브러리 | Ws2_32.lib |
DLL | Ws2_32.dll |