| Предыдущий | Следующий |
| WSATYPE_NOT_FOUND | WSA_E_CANCELLED |
WSA_E_NO_MORE
WSA_E_NO_MORE — результат Winsock 2, используемый, когда WSALookupServiceNext исчерпал текущий поиск. Дескриптор запроса остаётся допустимым контекстом перечисления, но дополнительный результат WSAQUERYSET вернуть невозможно.
Считайте это конечным состоянием перечисления
Распространённая ошибка — помещать каждую ненулевую ошибку Winsock в очередь повторов. Повтор Next после WSA_E_NO_MORE не обнаружит пропущенный результат; если приложение намеренно хочет искать снова, необходимо начать новый запрос WSALookupServiceBegin .
Совместимость со старыми поставщиками
В документации Microsoft указано конфликтующее старое значение WSAENOMORE. Приложения Winsock 2 должны распознавать оба кода, поскольку поставщики пространств имён могут возвращать любой из них. Microsoft указывает WSA_E_NO_MORE как значение, которое должно сохраниться.
- Завершите цикл получения результатов.
- Освободите дескриптор поиска с помощью
WSALookupServiceEnd. - Учитывайте состояние «результатов больше нет» отдельно от тайм-аутов, отмен и сбоев поставщика.
Microsoft: WSALookupServiceNext · Microsoft: WSALookupServiceEnd
Нужно найти другой код? Найти другой код состояния или ошибки.