API 中的 getservbyname 和 getservbyport Functions

getservbynamegetservbyport 函数使用 WSALookupServiceBegin 函数将SVCID_INET_SERVICEBYNAME查询为服务类 GUID。 传递给 WSALookupServiceBegin 函数的 WSAQUERYSET 结构中的 lpszServiceInstanceName 成员引用字符串来指示服务名称或服务端口,并可以选择 () 服务协议。 字符串的格式说明为 FTP 或 TCP、21/TCP 或仅 FTP。 字符串不区分大小写。 斜杠标记(如果存在)将协议标识符与字符串的上一部分分隔开。 Ws2_32.dll将指定LUP_RETURN_BLOB,命名空间提供程序将使用偏移量(而不是指针)将 SERVENT 结构放置在 blob (中,如上所述) 。 命名空间提供程序还应遵循这些其他LUP_RETURN_* 标志。

标志 描述
LUP_RETURN_NAME lpszServiceInstanceName 中的 SERVENT 结构返回s_name成员。
LUP_RETURN_TYPE 返回 lpServiceClassId 中的规范 GUID 据了解,根据本地建立的约定,标识为 FTP 或 21 的服务可能位于另一个端口上。 SERVENT 结构的 s_port 参数应指示可在本地环境中联系服务的位置。 设置LUP_RETURN_TYPE时返回的规范 GUID 应该是 Svcs.h 中的预定义 GUID 之一,对应于 SERVENT 结构中指示的端口号。

 

Windows 套接字 1.1 API 中 TCP/IP 的兼容名称解析

与协议无关的名称解析

注册和名称解析