套接口库函数参考(114)

2010-12-30 21:03:01 · 作者: · 浏览: 59166
   为支持日后可能和Windows Sockets 1.1有功能上差异的Windows Sockets实现及应用程序,WSAStartup()中规定了一个协议.WSAStartup()的调用方和Windows Sockets DLL互相通知对方它们可以支持的最高版本,并且互相确认对方的最高版本是可接受的. WSAStartup()函数的入口,Windows Sockets DLL检查了应用程序所需的版本.如果版本高于DLL支持的最低版本,则调用成功并且DLLwHighVersion中返回它所支持的最高版本,wVersion中返回它的高版本和wVersionRequested中的较小者.然后Windows Sockets DLL就会假设应用程序将使用wVersion.如果WSDATA结构中的wVersion域对调用方来说不可接收, 它就应调用WSACleanup()函数并且要么去另一个Windows Sockets DLL中搜索,要么初始化失败.

       本协议允许Windows Sockets DLLWindows Sockets应用程序共同支持一定范围的Windows Sockets版本.如果版本范围有重叠,应用程序就可以成功地使用Windows Sockets DLL.下列的图表给出了WSAStartup()在不同的应用程序和Windows Sockets DLL版本中是如何工作的:

 

应用程序版本    DLL版本    wVersionRequested    wVersion    wHighVersion    最终结果

1.1             1.1             1.1        &nb