Função getservbyname (winsock2.h)

A função getservbyname recupera informações de serviço correspondentes a um nome de serviço e protocolo.

Sintaxe

servent *WSAAPI getservbyname(
  [in] const char *name,
  [in] const char *proto
);

Parâmetros

[in] name

Um ponteiro para um nome de serviço terminado em nulo.

[in] proto

Um ponteiro para um nome de protocolo terminado em nulo. Se esse ponteiro for NULL, a função getservbyname retornará a primeira entrada de serviço em que name corresponde ao membro s_name da estrutura servent ou ao membro s_aliases da estrutura servent . Caso contrário, getservbyname corresponde ao nome e ao proto.

Retornar valor

Se nenhum erro ocorrer, getservbyname retornará um ponteiro para a estrutura servent . Caso contrário, ele retornará um ponteiro nulo e um número de erro específico poderá ser recuperado chamando WSAGetLastError.

Código do erro Significado
WSANOTINITIALISED
Uma chamada WSAStartup bem-sucedida deve ocorrer antes de usar essa função.
WSAENETDOWN
O subsistema de rede falhou.
WSAHOST_NOT_FOUND
Serviço de Resposta Autoritativa não encontrado.
WSATRY_AGAIN
Um Serviço não autoritativo não encontrado ou uma falha de servidor.
WSANO_RECOVERY
Erros não recuperáveis, o banco de dados de serviços não está acessível.
WSANO_DATA
Nome válido, nenhum registro de dados do tipo solicitado.
WSAEINPROGRESS
Uma chamada de bloqueio do Windows Sockets 1.1 está em andamento ou o provedor de serviços ainda está processando uma função de retorno de chamada.
WSAEINTR
Uma chamada de bloqueio do Windows Socket 1.1 foi cancelada por meio de WSACancelBlockingCall.

Comentários

A função getservbyname retorna um ponteiro para a estrutura servent que contém os nomes e o número de serviço que correspondem à cadeia de caracteres no parâmetro name . Todas as cadeias de caracteres são terminadas em nulo.

O ponteiro retornado aponta para a estrutura servent alocada pela biblioteca do Windows Sockets. O aplicativo nunca deve tentar modificar essa estrutura ou liberar nenhum de seus componentes. Além disso, apenas uma cópia dessa estrutura é alocada por thread, portanto, o aplicativo deve copiar todas as informações necessárias antes de emitir qualquer outra chamada de função do Windows Sockets.

Windows Phone 8: essa função tem suporte para aplicativos da Windows Phone Store no Windows Phone 8 e posterior.

Windows 8.1 e Windows Server 2012 R2: essa função tem suporte para aplicativos da Windows Store em Windows 8.1, Windows Server 2012 R2 e posteriores.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8.1, Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho winsock2.h (inclua Winsock2.h)
Biblioteca Ws2_32.lib
DLL Ws2_32.dll

Confira também

WSAAsyncGetServByName

Funções Winsock

Referência de Winsock

getservbyport