Winsock 오류 처리

대부분의 Windows Sockets 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 SDK(Windows 소프트웨어 개발 키트)에서 HRESULT_FROM_WIN32 Winerror.h 헤더 파일에서 인라인 함수로 정의됩니다.

Windows 소켓 오류 코드