WSADATA

编辑:博古号互动百科 时间:2019-09-05 23:37:16
编辑 锁定
本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
WSADATA,一种分子结构。这个结构被用来存储被WSAStartup函数调用后返回的Windows Sockets数据。它包含Winsock.dll执行的数据。
中文名
WSADATA
操作系统
Windows CE
版本:
大于等于1.0
定义位置:
Winsock.h

WSADATA说明

编辑
这个结构被用来存储被WSAStartup函数调用后返回的Windows Sockets数据。它包含Winsock.dll执行的数据。

WSADATA结构原型

编辑
摘自
typedef?struct?WSAData?{
????????WORD????????????????????wVersion;
????????WORD????????????????????wHighVersion;
#ifdef?_WIN64
????????unsigned?short??????????iMaxSockets;
????????unsigned?short??????????iMaxUdpDg;
????????char?FAR?*??????????????lpVendorInfo;
????????char????????????????????szDescription[WSADESCRIPTION_LEN+1];
????????char????????????????????szSystemStatus[WSASYS_STATUS_LEN+1];
#else
????????char????????????????????szDescription[WSADESCRIPTION_LEN+1];
????????char????????????????????szSystemStatus[WSASYS_STATUS_LEN+1];
????????unsigned?short??????????iMaxSockets;
????????unsigned?short??????????iMaxUdpDg;
????????char?FAR?*??????????????lpVendorInfo;
#endif
}?WSADATA;

WSADATA结构被用来保存AfxSocketInit函数返回的WindowsSockets初始化信息。

WSADATA参数说明

编辑
wVersion
Windows Sockets DLL期望调用者使用的Windows Sockets规范的版本。 高位字节存储副版本号, 低位字节存储主版本号,可以用WORD MAKEWORD(BYTE,BYTE ) 返回这个值,例如:MAKEWORD(1,1)
wHighVersion
这个DLL能够支持的Windows Sockets规范的最高版本。通常它与wVersion相同。
szDescription
以null结尾的ASCII字符串,Windows Sockets DLL将对Windows Sockets实现的描述拷贝到这个字符串中,包括制造商标识。文本(最多可以有256个字符)可以包含任何字符,但是要注意不能包含控制字符格式字符,应用程序对其最可能的使用方式是把它(可能被截断)显示在在状态信息中。
szSystemStatus
以null结尾的ASCII字符串,Windows Sockets DLL把有关的状态或配置信息拷贝到该字符串中。Windows Sockets DLL应当仅在这些信息对用户或支持人员有用时才使用它们,它不应被作为szDescription域的扩展。
iMaxSockets
单个进程能够打开的socket的最大数目。Windows Sockets的实现能提供一个全局的socket池,可以为任何进程分配;或者它也可以为socket分配属于进程的资源。这个数字能够很好地反映Windows Sockets DLL或网络软件的配置方式。应用程序的编写者可以通过这个数字来粗略地指明Windows Sockets的实现方式对应用程序是否有用。例如,X Windows服务器在第一次启动的时候可能会检查iMaxSockets的值:如果这个值小于8,应用程序将显示一条错误信息,指示用户重新配置网络软件(这是一种可能要使用szSystemStatus文本的场合)。显然无法保证某个应用程序能够真正分配iMaxSockets个socket,因为可能有其它WindowsSockets应用程序正在使用。
iMaxUdpDg
Windows Sockets应用程序能够发送或接收的最大的用户数据包协议(UDP)的数据包大小,以字节为单位。如果实现方式没有限制,那么iMaxUdpDg为零。在Berkeley sockets的许多实现中,对于UDP数据包有个固有的限制(在必要时被分解),大小为8192字节。Windows Sockets的实现可以对碎片重组缓冲区的分配作出限制。对于适合的WindowsSockets 实现,iMaxUdpDg的最小值为512。注意不管iMaxUdpDg的值是什么,都不推荐你发回一个比网络的最大传送单元(MTU)还大的广播数据包。(Windows Sockets API 没有提供发现MTU的机制,但是它不会小于512个字节)。WinSock2.0版中已被废弃。
lpVendorInfo
指向销售商的数据结构的指针。这个结构的定义(如果有)超出了WindowsSockets规范的范围。WinSock2.0版中已被废弃。

WSADATA备注

编辑
在MFC,WSADATA结构是AfxSocketInit返回的函数,调用你的InitInstance函数。 如果你需要使用信息从它之后你可以检索结构并将其存储在你的程序
WSAStartup 给WSADATA 结构的成员分配些列值:
wVersion wVersionRequested 数值
wHighVersion wVersionRequested 数值
szDescription NULL 字符串
szSystemStatus NULL 字符串
iMaxSockets 100
iMaxUdpDg 0
lpVendorInfo NULL
必备条件:
操作系统
Windows CE
版本:
大于等于1.0
定义位置:
Winsock.h
注:
API微软公司提供的完整 Windows CE操作系统包的一部分。这个功能取决于原始设备制造商,有些设备可能不支持这个API。
词条标签:
软件 计算机学 科技产品 电子产品 C/C++