Функция getservbyname (winsock.h)
Функция getservbyname извлекает сведения о службе, соответствующие имени службы и протоколу.
Синтаксис
servent * getservbyname(
[in] const char *name,
[in] const char *proto
);
Параметры
[in] name
Указатель на имя службы, завершаемое null.
[in] proto
Указатель на имя протокола, завершаемого null. Если этот указатель имеет значение NULL, функция getservbyname возвращает первую запись службы, имя которой соответствует s_nameэлементу структуры обслуживания или s_aliases элементу структуры обслуживания . В противном случае getservbyname соответствует имени и proto.
Возвращаемое значение
Если ошибка не возникает, getservbyname возвращает указатель на обслуживаемую структуру. В противном случае возвращается пустой указатель, и конкретный номер ошибки можно получить, вызвав WSAGetLastError.
Код ошибки | Значение |
---|---|
Перед использованием этой функции должен произойти успешный вызов WSAStartup . | |
Произошел сбой сетевой подсистемы. | |
Служба достоверных ответов не найдена. | |
Неавторная служба не найдена или сбой сервера. | |
Неустранимые ошибки, база данных служб недоступна. | |
Допустимое имя, без записи данных запрошенного типа. | |
Выполняется блокирующий вызов Windows Sockets 1.1 или поставщик услуг по-прежнему обрабатывает функцию обратного вызова. | |
Блокирующий вызов Windows Socket 1.1 был отменен через WSACancelBlockingCall. |
Комментарии
Функция getservbyname возвращает указатель на структуру обслуживания , содержащую имена и номера службы, соответствующие строке в параметре name . Все строки заканчиваются значением NULL.
Возвращаемый указатель указывает на структуру обслуживания , выделенную библиотекой сокетов Windows. Приложение никогда не должно пытаться изменить эту структуру или освободить какие-либо из ее компонентов. Кроме того, для каждого потока выделяется только одна копия этой структуры, поэтому приложение должно скопировать все необходимые сведения перед выполнением других вызовов функций Windows Sockets.
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 | winsock.h (включая Winsock2.h) |
Библиотека | Ws2_32.lib |
DLL | Ws2_32.dll |