本文有助于修复 Winsock 2.0 中的 WSAEMSGSIZE - 错误 10040。
原始 KB 数: 225004
现象
Microsoft Winsock 2.0 WSARecvFrom() 函数不起作用,在用户数据报协议 (UDP) 套接字程序中使用时,可能会显示以下错误消息:
WSAEMSGSIZE - 错误 10040
指定缓冲区计数器大于一个且接收数据报大小超过 1,470 字节时,WSARecvFrom 函数不起作用。
当缓冲区大小不足以容纳接收数据报时,可能会显示 WSAEMSGSIZE 错误消息。
原因
如果数据报已分段,则 TCP 驱动程序不会在 I/O 请求数据包链中填充第二个内存描述符列表(MDL)。
解决方法
Windows NT Server 或 Workstation 4.0
若要解决此问题,请获取适用于 Windows NT 4.0 或单个软件更新的最新 Service Pack。
有关获取单个软件更新的信息,请联系Microsoft产品支持服务。 有关Microsoft产品支持服务电话号码和支持成本信息的完整列表,请转到万维网上的以下地址:
Windows NT Server 4.0,终端服务器版本
若要解决此问题,请获取 Windows NT Server 4.0 终端服务器版的最新 Service Pack。
Status
Microsoft已确认,本文开头列出的Microsoft产品中存在此问题。 此问题首先在 Windows NT Server 版本 4.0(终端服务器版本 Service Pack 6)中更正。