getprotobynumber 函数 (winsock.h)

getprotobynumber 函数检索与协议编号对应的协议信息。

语法

protoent * getprotobynumber(
  int proto
);

参数

proto

TBD

返回值

如果未发生错误, getprotobynumber 将返回指向 原结构的 指针。 否则,它将返回一个 null 指针,并且可以通过调用 WSAGetLastError 来检索特定的错误号。

错误代码 含义
WSANOTINITIALISED
在使用此函数之前,必须成功调用 WSAStartup
WSAENETDOWN
网络子系统失败。
WSAHOST_NOT_FOUND
找不到权威应答协议。
WSATRY_AGAIN
找不到非授权协议,或服务器故障。
WSANO_RECOVERY
不可恢复的错误,协议数据库不可访问。
WSANO_DATA
有效名称,没有请求类型的数据记录。
WSAEINPROGRESS
阻止 Windows Sockets 1.1 调用正在进行,或者服务提供程序仍在处理回调函数。
WSAEINTR
阻止的 Windows 套接字 1.1 调用已通过 WSACancelBlockingCall 取消。

注解

getprotobynumber 函数返回指向 结构的指针,如前面 getprotobyname 中所述。 结构的内容对应于给定的协议编号。

返回的指针指向 Windows 套接字分配的结构。 应用程序不得尝试修改此结构或释放其任何组件。 此外,每个线程只分配此结构的一个副本,因此应用程序应在发出任何其他 Windows 套接字函数调用之前复制它所需的任何信息。

Windows Phone 8:Windows Phone 8 及更高版本上的 Windows Phone 应用商店应用支持此函数。

Windows 8.1Windows Server 2012 R2:Windows 8.1、Windows Server 2012 R2 及更高版本的 Windows 应用商店应用支持此函数。

要求

要求
最低受支持的客户端 Windows 8.1、Windows Vista [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 winsock.h (包括 Winsock2.h)
Library Ws2_32.lib
DLL Ws2_32.dll

另请参阅

WSAAsyncGetProtoByNumber

Winsock 函数

Winsock 参考

getprotobyname