WSA_INVALID_HANDLE | 6 | 指定的事件对象句柄无效。应用程序尝试使用事件对象,但指定的句柄无效。 |
WSA_NOT_ENOUGH_MEMORY | 8 | 内存不足。应用程序使用直接映射到Windows函数的 Windows Sockets 函数。Windows函数指示缺少所需的内存资源。 |
WSA_INVALID_PARAMETER | 87 | 一个或多个参数无效。应用程序使用直接映射到Windows函数的 Windows Sockets 函数。Windows函数指示一个或多个参数存在问题。 |
WSA_OPERATION_ABORTED | 995 | 已中止的重叠操作。由于套接字关闭或 WSAIoctl 中SIO_FLUSH命令的执行,取消了重叠的操作。 |
WSA_IO_INCOMPLETE | 996 | 不处于信号状态的重叠 I/O 事件对象。应用程序已尝试确定尚未完成的重叠操作的状态。在轮询模式下将 WSAGetOverlappedResult (与 fWait 标志设置为 FALSE) 的应用程序,以确定重叠操作何时完成,直到操作完成为止,获取此错误代码。 |
WSA_IO_PENDING | 997 | 重叠的操作稍后将完成。应用程序已启动一个无法立即完成的重叠操作。操作完成后,稍后会给出完成指示。 |
WSAEINTR | 10004 | 中断的函数调用。对 WSACancelBlockingCall 的调用中断了阻塞操作。 |
WSAEBADF | 10009 | 文件句柄无效。提供的文件句柄无效。 |
WSAEACCES | 10013 | 权限被拒绝。尝试以禁止其访问权限的方式访问套接字。例如,使用 setsockopt (SO_BROADCAST) 在未设置广播权限的情况下使用 sendto 的广播地址。另一个可能原因是,在 Windows NT 4.0 上调用绑定函数时(使用 SP4 及更高版本),另一个应用程序、服务或内核模式驱动程序已绑定到具有独占访问权限的同一地址,这是通过 SO_EXCLUSIVEADDRUSE 选项实现的。 |
WSAEFAULT | 10014 | 地址错误。系统在尝试使用调用的指针参数时检测到无效的指针地址。如果应用程序传递无效的指针值,或者缓冲区长度过小,则会发生此错误。例如,如果参数的长度(即 sockaddr 结构)小于 sockaddr 所需的大小。 |
WSAEINVAL | 10022 | 参数无效。例如,提供了一些无效参数,用于指定 setsockopt 函数的无效级别。在某些情况下,它还引用套接字的当前状态,例如,在未侦听的套接字上调用 accept。 |
WSAEMFILE | 10024 | 打开的文件太多。打开的套接字过多,超过了每个实现的最大可用套接字句柄数(全局、每个进程或每个线程)。 |
WSAEWOULDBLOCK | 10035 | 资源暂时不可用。此错误是从无法立即完成的非阻塞套接字上的操作返回的,例如,当没有数据排队从套接字读取时,将返回此错误。这是一个非致命错误,稍后应重试该操作。通常是由于调用非阻塞 SOCK_STREAM 套接字上的 connect 而报告的,因为必须经过一段时间才能建立连接。 |
WSAEINPROGRESS | 10036 | 操作正在进行中。阻塞操作当前正在执行。Windows 套接字仅允许单个阻塞操作(每个任务或线程)未完成,如果发出任何其他函数调用(无论是否引用该函数或其他任何套接字),该函数将失败并返回 WSAEINPROGRESS 错误。 |
WSAEALREADY | 10037 | 操作已在进行中。在正在进行的操作的非阻塞套接字上尝试了一个操作,例如在已连接的非阻塞套接字上调用第二次 connect,或者取消了一个已取消或已完成的 WSAAsyncGetXbyY 异步请求。 |
WSAENOTSOCK | 10038 | 非套接字上的套接字操作。尝试对不是套接字的内容执行操作。套接字句柄参数未引用有效的套接字,或者对于 select,fd_set 的成员无效。 |
WSAEDESTADDRREQ | 10039 | 所需的目标地址。套接字上的操作中省略了所需的地址。例如,如果使用远程地址 ADDR_ANY 调用 sendto,则返回此错误。 |
WSAEMSGSIZE | 10040 | 消息太长。在数据报套接字上发送的消息大于内部消息缓冲区或其他一些网络限制,或者用于接收数据报的缓冲区小于数据报本身。 |
WSAEPROTOTYPE | 10041 | 套接字的协议错误类型。在套接字函数调用中指定了一个协议,该协议不支持所请求的套接字类型的语义。例如,不能使用套接字类型 SOCK_STREAM 指定 ARPA Internet UDP 协议。 |
WSAENOPROTOOPT | 10042 | 协议选项不正确。在 getsockopt 或 setsockopt 调用中指定了未知、无效或不受支持的选项或级别。 |
WSAEPROTONOSUPPORT | 10043 | 不支持协议。请求的协议尚未配置到系统中,或不存在任何实现。例如,套接字调用请求 SOCK_DGRAM 套接字,但指定了流协议。 |
WSAESOCKTNOSUPPORT | 10044 | 不支持套接字类型。在此地址族中不存在对指定的套接字类型的支持。例如,可选类型 SOCK_RAW 可能在套接字调用中选择,但实现根本不支持 SOCK_RAW 套接字。 |
WSAEOPNOTSUPP | 10045 | 不支持操作。引用的对象类型不支持尝试的操作。通常,当套接字描述符指向不支持此操作的套接字时,会尝试在数据报套接字上接受连接。 |
WSAEPFNOSUPPORT | 10046 | 不支持协议系列。协议系列尚未配置到系统中,或者不存在任何实现。此消息的含义与 WSAEAFNOSUPPORT 略有不同,但在大多数情况下可互换,返回其中一条消息的所有 Windows 套接字函数也指定 WSAEAFNOSUPPORT。 |
WSAEAFNOSUPPORT | 10047 | 协议系列不支持地址系列。使用了与请求的协议不兼容的地址。所有套接字都是使用关联的地址系列(例如 Internet 协议 AF_INET)和一种泛型协议类型(例如 SOCK_STREAM)创建的。如果在套接字调用中显式请求了错误的协议,或者错误系列地址用于套接字(例如,在 sendto 中),将返回此错误。 |
WSAEADDRINUSE | 10048 | 已使用的地址。通常,每个套接字地址(协议/IP 地址/端口)只允许使用一次。如果应用程序尝试将套接字绑定到已用于现有套接字的 IP 地址/端口,或者未正确关闭的套接字,或者仍在关闭过程中的套接字,则会发生此错误。对于需要将多个套接字绑定到同一端口号的服务器应用程序,请考虑使用 setsockopt (SO_REUSEADDR)。客户端应用程序通常根本不需要调用绑定,因为连接会自动选择未使用的端口。使用涉及 ADDR_ANY 的通配符地址调用绑定时,可能会延迟 WSAEADDRINUSE 错误,直到提交特定地址。稍后可能会调用另一个函数(包括连接、侦听、WSAConnect 或 WSAJoinLeaf)时发生此错误。 |
WSAEADDRNOTAVAIL | 10049 | 无法分配请求的地址。请求的地址在其上下文中无效。这通常会导致尝试绑定到对本地计算机无效的地址。如果远程地址或端口对远程计算机无效(例如,地址或端口 0),则这也可能导致连接、sendto、WSAConnect、WSAJoinLeaf 或 WSASendTo 发生此错误。 |
WSAENETDOWN | 10050 | 网络已关闭。套接字操作遇到了一个已死的网络。这可能表明网络系统(即 Windows Sockets DLL 的协议堆栈)溢出、网络接口或局域网本身出现严重故障。 |
WSAENETUNREACH | 10051 | 网络无法访问。已尝试对无法访问的网络执行套接字操作。这通常意味着本地软件不知道要访问远程主机的路由。 |
WSAENETRESET | 10052 | 重置时网络断开的连接。由于在操作正在进行时检测到故障,连接已中断。如果尝试在已失败的连接上设置 SO_KEEPALIVE,则 setsockopt 也可能返回此错误。 |
WSAECONNABORTED | 10053 | 软件导致连接中止。由于数据传输超时或协议错误,主机计算机中的软件中止了建立的连接。 |
WSAECONNRESET | 10054 | 按对等方重置连接。远程主机强行关闭现有连接。这通常会导致远程主机上的对等应用程序突然停止、主机重新启动、主机或远程网络接口被禁用,或者远程主机使用硬关闭(查看 setsockopt,详细了解远程套接字上的 SO_LINGER 选项)。如果连接因活动保持活动检测到故障而中断,同时一个或多个操作正在进行中,也可能导致此错误。正在进行的操作失败并返回 WSAENETRESET,后续操作失败并返回 WSAECONNRESET。 |
WSAENOBUFS | 10055 | 没有可用的缓冲区空间。由于系统没有足够的缓冲区空间或队列已满,因此无法对套接字执行操作。 |
WSAEISCONN | 10056 | 套接字已连接。在已连接的套接字上发出了连接请求。 |
WSAENOTCONN | 10057 | 套接字未连接。不允许发送或接收数据的请求,因为套接字未连接。 |
WSAESHUTDOWN | 10058 | 套接字关闭后无法发送。不允许发送或接收数据的请求,因为该套接字已在上一次关闭调用中关闭该方向。 |
WSAETOOMANYREFS | 10059 | 引用过多。对某些内核对象的引用过多。 |
WSAETIMEDOUT | 10060 | 连接超时。连接尝试失败,因为连接方在一段时间后未正确响应。 |
WSAECONNREFUSED | 10061 | 连接被拒绝。无法建立连接,因为目标计算机主动拒绝连接。 |
WSAELOOP | 10062 | 无法转换名称。 |
WSAENAMETOOLONG | 10063 | 名称太长。名称组件或名称太长。 |
WSAEHOSTDOWN | 10064 | 主机已关闭。由于目标主机关闭,套接字操作失败。 |
WSAEHOSTUNREACH | 10065 | 没有要托管的路由。套接字操作尝试访问无法访问的主机。 |
WSAENOTEMPTY | 10066 | 目录不为空。无法删除不为空的目录。 |
WSAEPROCLIM | 10067 | 进程过多。Windows套接字实现可能会对可以同时使用它的应用程序数有限制。 |
WSAEUSERS | 10068 | 超出用户配额。用户配额不足。 |
WSAEDQUOT | 10069 | 超过磁盘配额。磁盘配额不足。 |
WSAESTALE | 10070 | 过时的文件句柄引用。文件句柄引用不再可用。 |
WSAEREMOTE | 10071 | 项是远程项。该项在本地不可用。 |
WSASYSNOTREADY | 10091 | 网络子系统不可用。Windows套接字实现目前无法正常工作。 |
WSAVERNOTSUPPORTED | 10092 | Winsock.dll版本范围不足。当前Windows套接字实现不支持应用程序请求的Windows套接字规范版本。 |
WSANOTINITIALISED | 10093 | 尚未执行成功的 WSAStartup。应用程序未调用WSAStartup或WSAStartup失败。 |
WSAEDISCON | 10101 | 正在正常关闭。由WSARecv和WSARecvFrom返回,以指示远程方已启动正常关闭序列。 |
WSAENOMORE | 10102 | 没有更多结果。WSALookupServiceNext函数无法返回更多结果。 |
WSAECANCELLED | 10103 | 已取消呼叫。调用WSALookupServiceEnd函数时仍在处理。 |
WSAEINVALIDPROCTABLE | 10104 | 过程调用表无效。服务提供程序过程调用表无效。 |
WSAEINVALIDPROVIDER | 10105 | 服务提供商无效。请求的服务提供程序无效。 |
WSAEPROVIDERFAILEDINIT | 10106 | 服务提供程序无法初始化。无法加载或初始化请求的服务提供程序。 |
WSASYSCALLFAILURE | 10107 | 系统调用失败。不应失败的系统调用失败。 |
WSASERVICE_NOT_FOUND | 10108 | 找不到服务。目前尚不清楚此类服务。 |
WSATYPE_NOT_FOUND | 10109 | 找不到类类型。未找到指定的类。 |
WSA_E_NO_MORE | 10110 | 没有更多结果。WSALookupServiceNext函数无法返回更多结果。 |
WSA_E_CANCELLED | 10111 | 已取消呼叫。调用WSALookupServiceEnd函数时仍在处理。 |
WSAEREFUSED | 10112 | 数据库查询被拒绝。数据库查询失败,因为它被主动拒绝。 |
WSAHOST_NOT_FOUND | 11001 | 找不到主机。无法识别这种主机。 |
WSATRY_AGAIN | 11002 | 找不到非授权主机。这通常是主机名解析过程中的临时错误。 |
WSANO_RECOVERY | 11003 | 这是不可恢复的错误。这表示在数据库查找过程中发生了某种不可恢复的错误。 |
WSANO_DATA | 11004 | 有效名称,没有请求类型的数据记录。请求的名称有效,但未解析正确的关联数据。 |
WSA_QOS_RECEIVERS | 11005 | QoS 接收器。至少有一个 QoS 储备已到达。 |
WSA_QOS_SENDERS | 11006 | QoS 发送方。至少有一个 QoS 发送路径已到达。 |
WSA_QOS_NO_SENDERS | 11007 | 无 QoS 发送方。没有 QoS 发送方。 |
WSA_QOS_NO_RECEIVERS | 11008 | QoS 无接收器。没有 QoS 接收器。 |
WSA_QOS_REQUEST_CONFIRMED | 11009 | 已确认 QoS 请求。 |
WSA_QOS_ADMISSION_FAILURE | 11010 | QoS 允许错误。 |
WSA_QOS_POLICY_FAILURE | 11011 | QoS 策略失败。 |
WSA_QOS_BAD_STYLE | 11012 | QoS 错误样式。 |
WSA_QOS_BAD_OBJECT | 11013 | QoS 错误对象。 |
WSA_QOS_TRAFFIC_CTRL_ERROR | 11014 | QoS 流量控制错误。 |
WSA_QOS_GENERIC_ERROR | 11015 | QoS 泛型错误。 |
WSA_QOS_ESERVICETYPE | 11016 | QoS 服务类型错误。 |
WSA_QOS_EFLOWSPEC | 11017 | QoS 流spec 错误。 |
WSA_QOS_EPROVSPECBUF | 11018 | QoS 提供程序缓冲区无效。 |
WSA_QOS_EFILTERSTYLE | 11019 | QoS 筛选器样式无效。 |
WSA_QOS_EFILTERTYPE | 11020 | QoS 筛选器类型无效。 |
WSA_QOS_EFILTERCOUNT | 11021 | QoS 筛选器计数不正确。 |
WSA_QOS_EOBJLENGTH | 11022 | QoS 对象长度无效。 |
WSA_QOS_EFLOWCOUNT | 11023 | QoS 流计数不正确。 |
WSA_QOS_EUNKOWNPSOBJ | 11024 | 无法识别的 QoS 对象。 |
WSA_QOS_EPOLICYOBJ | 11025 | QoS 策略对象无效。 |
WSA_QOS_EFLOWDESC | 11026 | QoS 流描述符无效。 |
WSA_QOS_EPSFLOWSPEC | 11027 | 特定于 QoS 提供程序的流spec 无效。 |
WSA_QOS_EPSFILTERSPEC | 11028 | 特定于 QoS 提供程序的筛选器spec 无效。 |
WSA_QOS_ESDMODEOBJ | 11029 | QoS 形状放弃模式对象无效。 |
WSA_QOS_ESHAPERATEOBJ | 11030 | QoS 整形速率对象无效。 |
WSA_QOS_RESERVED_PETYPE | 11031 | 保留策略 QoS 元素类型。 |