八、函数说明:

1、WSAStartup函数声明

int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData)

wVersionRequested:为将要使用之Windows Stockets API版本,是一高位为次版本号,低位为主版本号的WORD类型整数。

lpWSAData:指向WSADATA资料之指针。

功能:完成windows Sockets之一系列初始化,乃使用windows Sockets之应用程序都必须调用的函数。该函数调用成功,返回“0”,可以使用Sockets;失败则返回错误值,使用不了Sockets。

2、WSAEnumProtocols函数声明

int WSAEnumProtocols(LPINT lpiProtocols,LPWSAPROTOCOL_INFO lpProtocolBuffer,LPDWORD lpdwBufferLength)

lpiProtocols:一个以NULL结尾的协议标识号数组,为可选参数。lpdwProtocols为NULL时返回所有可用协议信息;否则返回数组所列协议信息。

lpProtocolBuffer:以结构WSAPROTOCOL_INFO填充之缓冲区。WSAPROTOCOL_INFO结构用于存取一给定协议之完整信息。

lpdwBufferLength:输入时,用于存放传递给WSAEnumProtocols()函数之lpProtocolBuffer缓冲区长度;输出时,为所有获取网络协议的信息需传递于WSAEnumProtocols()函数之缓冲区长度。

功能:获取网络协议安装于本地PC机上的可用网络协议族,成功则返回协议数目,失败则返回错误值。

3、WSAPROTOCOL_INFO结构定义

  1. typedef struct_WSAPROTOCOL_INFO{  
  2.     DWORD                                    dwServiceFlags1;  
  3.     DWORD                                    dwServiceFlags2;  
  4.     DWORD                                    dwServiceFlags3;  
  5.     DWORD                                    dwServiceFlags4;  
  6.     DWORD                                    dwServiceFlags;  
  7.     GUID                                          ProviderId;  
  8.     DWORD                                    dwCatalogEntryId;  
  9.     WSAPROTOCOLCHAIN         ProtocolChain;  
  10.     int                                                iVersion;  
  11.     int                                                iAddressFamily;  
  12.     int                                                iMaxSockAddr;  
  13.     int                                                iMinSocAddr;  
  14.     int                                                iSocketType;  
  15.     int                                                iProtocl;  
  16.     int                                                iProtoclMaxOffset;  
  17.     int                                                iNetworkByteOrder;  
  18.     int                                                iSecurityScheme;  
  19.     DWORD                                    dwMessageSi;  
  20.     DWORD                                    dwProviderReserved;  
  21.     TCHAR                                      szProtocol[WSAPROTOCOL_LEN+1];  
  22.    }WSAPROTOCOL_INFO,*LPWSAPROTOCOL_INFO 

dwServiceFlags1:表示不同协议属性之一个位字段。

szProtocol:指向网络协议族,由此参数获取网络协议。

功能:存放和获取一给定协议的完整信息。


相关内容

    暂无相关文章