请输入您要查询的百科知识:

 

词条 WSAEnumProtocols()
释义

§ 简述:

获取现有传送协议的相关信息。

#include <winsock2.h>

int WSAAPI WSAEnumProtocols ( LPDWORD

lpdwProtocols, LPVOID lpProtocolBuffer, LPDWORD

lpdwBufferLength);

lpdwProtocols:一个以NULL结尾的协议标识号数组。本参数可选;如果lpdwProtocols为 NULL,则返回所有可用协议的信息,否则的话只返回数组中所开列的协议信息。

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

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

§ 返回值:

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

§ 错误代码:

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

WSAENETDOWN                        网络子系统失效。

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

WSAEINVAL                                参数中有非法值。

WSAENOBUFS                        缓冲区太小,无法保存所有PROTOCOL_INFO结构及其相关信息。传入的缓冲区大小至少应等于lpdwBufferLength中返回的值。

随便看

 

百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/19 2:55:29