Função getservbyport (winsock.h)

A função getservbyport recupera informações de serviço correspondentes a uma porta e um protocolo.

Sintaxe

servent * getservbyport(
  [in] int        port,
  [in] const char *proto
);

Parâmetros

[in] port

Porta para um serviço, em ordem de byte de rede.

[in] proto

Ponteiro opcional para um nome de protocolo. Se for nulo, getservbyport retornará a primeira entrada de serviço para a qual a porta corresponde à s_port da estrutura de servent . Caso contrário, getservbyport corresponde aos parâmetros port e proto .

Retornar valor

Se nenhum erro ocorrer, getservbyport 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.
WSAEFAULT
O parâmetro proto não é uma parte válida do espaço de endereço do usuário.
WSAEINTR
Uma chamada de bloqueio do Windows Socket 1.1 foi cancelada por meio de WSACancelBlockingCall.

Comentários

A função getservbyport retorna um ponteiro para uma estrutura servent como na função getservbyname .

A estrutura servent é alocada pelo 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 winsock.h (inclua Winsock2.h)
Biblioteca Ws2_32.lib
DLL Ws2_32.dll

Confira também

WSAAsyncGetServByPort

Funções Winsock

Referência de Winsock

getservbyname