Что означает код ошибки Windows 10102 (WSAENOMORE)?

 
Предыдущий Следующий
WSAEDISCON WSAECANCELLED

WSAENOMORE

WSAENOMORE обозначает конец перечисления пространства имён Winsock, выполняемого с помощью WSALookupServiceNext. Это не признак сбоя поставщика пространства имён или тайм-аута сетевого запроса: дескриптор поиска просто больше не может вернуть результатов.

Устаревший дублирующий код

Winsock 2 определяет оба значения WSAENOMORE и WSA_E_NO_MORE. Microsoft описывает первое как конфликтующее устаревшее значение и рекомендует приложениям проверять оба для совместимости с поставщиками пространств имён. Новая логика должна считать их одним и тем же конечным состоянием перечисления.

Правильная обработка цикла

  • Вызывайте WSALookupServiceNext до получения результата или ошибки.
  • При любом из кодов «больше нет» штатно завершайте перечисление.
  • Вызывайте WSALookupServiceEnd для освобождения дескриптора поиска.
  • Не повторяйте тот же вызов Next в плотном цикле в ожидании нового элемента.

Сравните этот код с WSANO_DATA, где имя может существовать, но данные не соответствуют запрошенным ограничениям. Конец перечисления и отсутствие соответствующих данных — разные состояния.

Microsoft: WSALookupServiceNext · Microsoft: коды ошибок Winsock


Нужно найти другой код? Найти другой код состояния или ошибки.