附录 A 错误代码

以下列出了 WSAGetLastError()函数有可能返回的错误代码和对应的解释。错误代码的数值对于所有的 Windows Sockets 兼容实现都是一致的。

Windows Sockets Berkeley 错误数值 解释代码 对应代码

WSAEINTR

EINTR

10004

与标准 C 一致

WSAEBADF

EBADF

10009

与标准 C 一致

WSAEACCES

EACCES

10013

与标准 C 一致

WSAEFAULT

EFAULT

10014

与标准 C 一致

WSAEINVAL

EINVAL

10022

与标准 C 一致

WSAEMFILE

EMFILE

10024

与标准 C 一致

WSAEWOULD BLOCK

EWOULD

BLOCK

10035

与 BSD 一致

WSAEINPRO GRESS

EINPRO GRESS

10036

当应用程序调用Windows Sockets

API 函数时,如果一个阻塞函数正在

运行,将返回该错误。WSAEALREADY EALREADY 10037 与 BSD 一致

WSAENOTSOCK ENOTSOCK 10038 与 BSD 一致

WSAEDESTADDR EDESTADDR 10039 与 BSD 一致REQ REQ

WSAEMSGSIZE EMSGSIZE 10040 与 BSD 一致

WSAEPROTOTYPE EPROTOTYPE 10041 与 BSD 一致

WSAENOPROTO ENOPROTOOPT 10042 与 BSD 一致OPT

WSAEPROTONO

SUPPORT

EPROTONO

SUPPORT

10043

与 BSD 一致

WSAESOCKTNO SUPPORT

ESOCKTNO SUPPORT

10044

与 BSD 一致

WSAEOPNOT SUPPORT

EOPNOT

SUPPORT

10045

与 BSD 一致

WSAEPFNO SUPPORT

EPFNO SUPPORT

10046

与 BSD 一致

WSAEAFNO SUPPORT

EAFNO

SUPPORT

10047

与 BSD 一致

WSAEADDRINUSE EADDRINUSE 10048 与 BSD 一致

WSAEADDRNOT EADDRNOT 10049 与 BSD 一致AVAIL AVAIL

WSAENETDOWN ENETDOWN 10050 与 BSD 一致,

在 Windows Sockets 检测到任何底层的失败时,都有可能返回该错误。

WSAENETUNREAC ENETUNREACH 10051 与 BSD 一致H

WSAENETRESET ENETRESET 10052 与 BSD 一致

WSAECONNABORT ECONNABORTED 10053 与 BSD 一致ED

WSAECONNRESET ECONNRESET 10054 与 BSD 一致WSAENOBUFS ENOBUFS 10055 与 BSD 一致WSAEISCONN EISCONN 10056 与 BSD 一致WSAENOTCONN ENOTCONN 10057 与 BSD 一致WSAESHUTDOWN ESHUTDOWN 10058 与 BSD 一致

WSAETOOMANYRE

ETOOMANYREFS 10059

与 BSD 一致

FS

WSAETIMEDOUT

ETIMEDOUT 10060

与 BSD 一致

WSAECONNREFUS ECONNREFUSED 10061 与 BSD 一致ED

WSAELOOP ELOOP 10062 与 BSD 一致WSAENAMETOOLO ENAMETOOLONG 10063 与 BSD 一致

NG

WSAEHOSTDOWN EHOSTDOWN 10064 与 BSD 一致

WSAEHOSTUNREA EHOSTUNREACH 10065 与 BSD 一致CH

WSASYSNOTREAD

Y

10091

由 WSAStartup()

函数返回,表明 底层的网络子系统无法使用。

WSAVERNOTSUPP ORTED

10092

由 WSAStartup() 函数返回,表明

Windows Sockets

DLL 不支持这一应用。

WSANOTINITIAL

ISED

10093

由除了 WSAStartup()

的其他函数返回,表明 没有对 WSAStartup()函数的成功调用。

WSAHOST_NOT_F OUND

HOST_NOT_FOUN D

11001 与 BSD 一致

WSATRY_AGAIN TRY_AGAIN 11001 与 BSD 一致

WSANO_RECOVER NO_RECOVERY 11003 与 BSD 一致Y

WSANO_DATA NO_DATA 11004 与 BSD 一致