Consulta de servicio

Una consulta de servicio de nombres implica una serie de llamadas: NSPLookupServiceBegin, seguidas de una o varias llamadas a NSPLookupServiceNext y que terminan con una llamada a NSPLookupServiceEnd. NSPLookupServiceBegin toma una estructura WSAQUERYSET como entrada para definir los parámetros de consulta junto con un conjunto de marcas para proporcionar control adicional sobre la operación de búsqueda. Devuelve un identificador de consulta que se usa en las llamadas posteriores a NSPLookupServiceNext y NSPLookupServiceEnd.

El cliente SPI de espacio de nombres invoca NSPLookupServiceNext para obtener los resultados de la consulta, con los resultados proporcionados en un búfer WSAQUERYSET proporcionado por el cliente. El cliente sigue llamando a NSPLookupServiceNext hasta que se devuelva el código de error WSA_E_NO_MORE que indica que se han recuperado todos los resultados. A continuación, la búsqueda finaliza mediante una llamada a NSPLookupServiceEnd. La función NSPLookupServiceEnd también se puede usar para cancelar un NSPLookupServiceNext pendiente actualmente cuando se llama desde otro subproceso.

En Windows Sockets 2, los códigos de error en conflicto se definen para WSAENOMORE (10102) y WSA_E_NO_MORE (10110). El código de error WSAENOMORE se quitará en una versión futura y solo permanecerán WSA_E_NO_MORE. Los proveedores de espacios de nombres deben cambiar al uso del código de error WSA_E_NO_MORE tan pronto como sea posible para mantener la compatibilidad con la gama más amplia posible de aplicaciones.