getprotobyname 函数 (winsock.h)
getprotobyname 函数检索与协议名称对应的协议信息。
语法
protoent * getprotobyname(
[in] const char *name
);
参数
[in] name
指向以 null 结尾的协议名称的指针。
返回值
如果未发生错误, getprotobyname 将返回指向 protoent 的指针。 否则,它将返回一个 null 指针,并且可以通过调用 WSAGetLastError 来检索特定的错误号。
错误代码 | 含义 |
---|---|
在使用此函数之前,必须成功调用 WSAStartup 。 | |
网络子系统发生故障。 | |
找不到权威应答协议。 | |
找不到非授权协议或服务器故障。 | |
不可恢复的错误,协议数据库不可访问。 | |
有效名称,没有请求类型的数据记录。 | |
阻止 Windows 套接字 1.1 调用正在进行,或者服务提供商仍在处理回调函数。 | |
name 参数不是用户地址空间的有效部分。 | |
阻止的 Windows 套接字 1.1 调用已通过 WSACancelBlockingCall 取消。 |
注解
getprotobyname 函数返回指向原结构的指针,该结构包含名称 () 和与 name 参数中指定的协议对应的协议编号。 所有字符串都以 null 结尾。 原结构由 Windows 套接字库分配。 应用程序不得尝试修改此结构或释放其任何组件。 此外,与 hostent 一样,每个线程只分配此结构的一个副本,因此应用程序应在发出任何其他 Windows 套接字函数调用之前复制所需的任何信息。
Windows Phone 8:Windows Phone 8 及更高版本上的 Windows Phone 应用商店应用支持此函数。
Windows 8.1和Windows 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 |