Requête de service
Une requête de service de noms implique une série d’appels : NSPLookupServiceBegin, suivie d’un ou de plusieurs appels à NSPLookupServiceNext et se terminant par un appel à NSPLookupServiceEnd. NSPLookupServiceBegin prend une structure WSAQUERYSET en tant qu’entrée afin de définir les paramètres de requête ainsi qu’un ensemble d’indicateurs pour fournir un contrôle supplémentaire sur l’opération de recherche. Elle retourne un handle de requête utilisé dans les appels suivants à NSPLookupServiceNext et NSPLookupServiceEnd.
Le client SPI d’espace de noms appelle NSPLookupServiceNext pour obtenir les résultats de la requête, avec les résultats fournis dans une mémoire tampon WSAQUERY SET fournie par le client. Le client continue d’appeler NSPLookupServiceNext jusqu’à ce que le code d’erreur WSA_E_NO_MORE soit retourné indiquant que tous les résultats ont été récupérés. La recherche est ensuite arrêtée par un appel à NSPLookupServiceEnd. La fonction NSPLookupServiceEnd peut également être utilisée pour annuler une NSPLookupServiceNext lorsqu’elle est appelée à partir d’un autre thread.
Dans Windows Sockets 2, les codes d’erreur en conflit sont définis pour WSAENOMORE (10102) et WSA_E_NO_MORE (10110). Le code d’erreur WSAENOMORE sera supprimé dans une version ultérieure et seul WSA_E_NO_MORE restera. Les fournisseurs d’espaces de noms doivent passer à l’utilisation du code d’erreur WSA_E_NO_MORE dès que possible pour maintenir la compatibilité avec la plus grande gamme possible d’applications.