Функция getservbyport (winsock2.h)
Функция getservbyport извлекает сведения о службе, соответствующие порту и протоколу.
Синтаксис
servent *WSAAPI getservbyport(
[in] int port,
[in] const char *proto
);
Параметры
[in] port
Порт для службы в сетевом порядке байтов.
[in] proto
Необязательный указатель на имя протокола. Если значение равно NULL, getservbyport возвращает первую запись службы, для которой порт соответствует s_portобслуживающей структуры. В противном случае getservbyport соответствует параметрам порта и proto .
Возвращаемое значение
Если ошибки не происходит, getservbyport возвращает указатель на обслуживаемую структуру. В противном случае возвращается пустой указатель, и конкретный номер ошибки можно получить, вызвав WSAGetLastError.
Код ошибки | Значение |
---|---|
Перед использованием этой функции должен быть выполнен успешный вызов WSAStartup . | |
Произошел сбой сетевой подсистемы. | |
Служба достоверных ответов не найдена. | |
Неавторитативная служба не найдена или сбой сервера. | |
Неустранимые ошибки, база данных служб недоступна. | |
Допустимое имя, нет записи данных запрошенного типа. | |
Выполняется блокирующий вызов Windows Sockets 1.1 или поставщик услуг по-прежнему обрабатывает функцию обратного вызова. | |
Параметр proto не является допустимой частью адресного пространства пользователя. | |
Блокирующий вызов сокета Windows 1.1 был отменен через WSACancelBlockingCall. |
Комментарии
Функция getservbyport возвращает указатель на обслуживаемую структуру, как и в функции getservbyname .
Обслуживаемая структура выделяется сокетами Windows. Приложение никогда не должно пытаться изменить эту структуру или освободить какие-либо из ее компонентов. Кроме того, для каждого потока выделяется только одна копия этой структуры, поэтому приложение должно скопировать все необходимые сведения перед выполнением других вызовов функций Сокетов Windows.
Windows Phone 8. Эта функция поддерживается для приложений Магазина Windows Phone Windows Phone 8 и более поздних версий.
Windows 8.1 и Windows Server 2012 R2: эта функция поддерживается для приложений Магазина Windows на Windows 8.1, Windows Server 2012 R2 и более поздних версий.
Требования
Минимальная версия клиента | Windows 8.1, Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winsock2.h (включая Winsock2.h) |
Библиотека | Ws2_32.lib |
DLL | Ws2_32.dll |