Consulta de serviço
Uma consulta de serviço de nome envolve uma série de chamadas: NSPLookupServiceBegin, seguida por uma ou mais chamadas para NSPLookupServiceNext e terminando com uma chamada para NSPLookupServiceEnd. NSPLookupServiceBegin usa uma estrutura WSAQUERYSET como entrada para definir os parâmetros de consulta junto com um conjunto de sinalizadores para fornecer controle adicional sobre a operação de pesquisa. Ele retorna um identificador de consulta que é usado nas chamadas subsequentes para NSPLookupServiceNext e NSPLookupServiceEnd.
O cliente SPI do namespace invoca NSPLookupServiceNext para obter os resultados da consulta, com resultados fornecidos em um buffer WSAQUERYSET fornecido pelo cliente. O cliente continua a chamar NSPLookupServiceNext até que o código de erro WSA_E_NO_MORE seja retornado indicando que todos os resultados foram recuperados. Em seguida, a pesquisa é encerrada por uma chamada para NSPLookupServiceEnd. A função NSPLookupServiceEnd também pode ser usada para cancelar um NSPLookupServiceNext pendente no momento quando chamado de outro thread.
No Windows Sockets 2, códigos de erro conflitantes são definidos para WSAENOMORE (10102) e WSA_E_NO_MORE (10110). O código de erro WSAENOMORE será removido em uma versão futura e somente WSA_E_NO_MORE permanecerá. Os provedores de namespace devem alternar para o uso do código de erro WSA_E_NO_MORE o mais rápido possível para manter a compatibilidade com a maior variedade possível de aplicativos.