Windows Sockets 2扩展库函数简要参考(十四)

2010-12-30 21:01:20 · 作者: · 浏览: 31735
识号数组。本参数可选;如果lpdwProtocols NULL,则返回所有可用协议的信息,否则的话只返回数组中所开列的协议信息。

lpProtocolBuffer:一个用PROTOCOL_INFO结构填充的缓冲区。参见下文中对PROTOCOL_INFO结构的具体描述。

lpdwBufferLength:输入时,存有传递给WSAEnumProtocols()函数的lpProtocolBuffer缓冲区长度。输出时,表示为获取所有信息需传递给WSAEnumProtocols()函数的缓冲区长度。本函数不能重复调用;传入的缓冲区必须足够大以能存放所有的元素。这个规定降低了该函数的复杂度。由于一个机器上装载的协议数目往往是很小的,所以并不会产生问题。

 

返回值:

  若无错误发生,WSAEnumProtocols()返回协议的数目。否则的话,将返回INVALID_SOCKET错误,应用程序可通过WSAGetLastError()来获取相应的错误代码。

 

错误代码:

WSANOTINITIALISED              在调用本API之前应成功调用WSAStartup()

WSAENETDOWN               网络子系统失效。

WSAEINPROGRESS           一个阻塞WinSock调用正在进行。

WSAEINVAL                      参数中有非法值。

WSAENOBUFS      &nb