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

 
Предыдущий Следующий
WSAEPROTOTYPE WSAEPROTONOSUPPORT

WSAENOPROTOOPT

WSAENOPROTOOPT означает, что getsockopt или setsockopt был вызван с именем параметра или уровнем протокола, не поддерживаемым выбранным поставщиком. Это не ответ сети и само по себе не означает отключение сокета.

Почему это происходит

Параметры сокетов относятся к уровням: общие параметры SOL_SOCKET отличаются от параметров TCP, IP, IPv6 или конкретного поставщика. Параметр может быть допустим на другой ОС, для другого семейства адресов, типа сокета или более нового поставщика, но недоступен этому сокету. Путаница в типе или размере значения параметра может вызывать связанные ошибки аргументов, поэтому сохраняйте идентификатор параметра и форму буфера.

Практическая диагностика

  • Запишите API, уровень, имя параметра, размер значения, семейство адресов, тип сокета и поставщика.
  • Проверяйте параметр по документации точной версии Windows SDK и поставщика, а не перебирайте несвязанные параметры до успеха.
  • Если требуется переносимость, рассматривайте необязательные настройки как проверку возможностей, а не обязательный этап запуска.

Microsoft: коды ошибок Winsock · Microsoft: сокеты, привязанные к поставщику · The Open Group: параметры сокетов


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