服务查询
名称服务查询涉及一系列调用:NSPLookupServiceBegin,后跟一个或多个调用 NSPLookupServiceNext,以调用 NSPLookupServiceEnd结束。 NSPLookupServiceBegin 采用 WSAQUERYSET 结构作为输入,以便定义查询参数以及一组标志,以提供对搜索作的额外控制。 它返回查询句柄,该句柄用于后续调用 NSPLookupServiceNext,并 NSPLookupServiceEnd。
命名空间 SPI 客户端调用 NSPLookupServiceNext 以获取查询结果,并在客户端提供的 WSAQUERYSET 缓冲区中提供的结果。 客户端继续调用 NSPLookupServiceNext,直到返回错误代码WSA_E_NO_MORE,指示检索了所有结果。 然后,通过调用 NSPLookupServiceEnd终止搜索。 NSPLookupServiceEnd 函数还可用于从另一个线程调用时取消当前挂起的 NSPLookupServiceNext。
在 Windows 套接字 2 中,WSAENOMORE (10102) 和 WSA_E_NO_MORE (10110) 定义了冲突错误代码。 将在将来的版本中删除错误代码 WSAENOMORE,并且只会保留WSA_E_NO_MORE。 命名空间提供程序应尽快切换到使用WSA_E_NO_MORE错误代码,以保持与尽可能广泛的应用程序的兼容性。