服务查询

名称服务查询涉及一系列调用: NSPLookupServiceBegin,后跟一个或多个对 NSPLookupServiceNext 的调用,并通过调用 NSPLookupServiceEnd结束。 NSPLookupServiceBegin 采用 WSAQUERYSET 结构作为输入,以定义查询参数,并使用一组标志来提供对搜索操作的更多控制。 它将返回一个查询句柄,用于对 NSPLookupServiceNextNSPLookupServiceEnd 的后续调用。

命名空间 SPI 客户端将调用 NSPLookupServiceNext 来获取查询结果,并在客户端提供的 WSAQUERYSET 缓冲区中提供结果。 客户端继续调用 NSPLookupServiceNext ,直到错误代码 "WSA _ E _ 不再出现" _ ,指出已检索到所有结果。 然后通过调用 NSPLookupServiceEnd终止搜索。 NSPLookupServiceEnd 函数还可用于在从其他线程调用时取消当前挂起的 NSPLookupServiceNext

在 Windows 套接字2中,为 WSAENOMORE (10102) 定义了冲突错误代码,而 WSA _ E _ _ (10110) 。 在未来的版本中将删除错误代码 WSAENOMORE,并且将仅 _ 保留 WSA E _ _ 。 命名空间提供程序应该尽快改用 WSA _ E _ NO _ 错误代码,以维持与最广泛的应用程序范围的兼容性。