Función getservbyname (winsock.h)

La función getservbyname recupera la información del servicio correspondiente a un nombre de servicio y un protocolo.

Sintaxis

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

Parámetros

[in] name

Puntero a un nombre de servicio terminado en null.

[in] proto

Puntero a un nombre de protocolo terminado en null. Si este puntero es NULL, la función getservbyname devuelve la primera entrada de servicio donde name coincide con el miembro s_name de la estructura servent o el miembro s_aliases de la estructura servent . De lo contrario, getservbyname coincide con el nombre y el proto.

Valor devuelto

Si no se produce ningún error, getservbyname devuelve un puntero a la estructura servent . De lo contrario, devuelve un puntero nulo y se puede recuperar un número de error específico llamando a WSAGetLastError.

Código de error Significado
WSANOTINITIALISED
Debe producirse una llamada WSAStartup correcta antes de usar esta función.
WSAENETDOWN
Error en el subsistema de red.
WSAHOST_NOT_FOUND
No se encontró el servicio de respuesta autoritativa.
WSATRY_AGAIN
No se encontró un servicio no autenticado o un error del servidor.
WSANO_RECOVERY
Errores irrecuperables, la base de datos de servicios no es accesible.
WSANO_DATA
Nombre válido, sin registro de datos del tipo solicitado.
WSAEINPROGRESS
Una llamada de Bloqueo de Windows Sockets 1.1 está en curso o el proveedor de servicios sigue procesando una función de devolución de llamada.
WSAEINTR
Se canceló una llamada de Bloqueo de Windows Socket 1.1 a través de WSACancelBlockingCall.

Comentarios

La función getservbyname devuelve un puntero a la estructura servent que contiene los nombres y el número de servicio que coinciden con la cadena en el parámetro name . Todas las cadenas terminan en null.

El puntero que se devuelve apunta a la estructura servent asignada por la biblioteca de Windows Sockets. La aplicación nunca debe intentar modificar esta estructura o liberar cualquiera de sus componentes. Además, solo se asigna una copia de esta estructura por subproceso, por lo que la aplicación debe copiar cualquier información que necesite antes de emitir cualquier otra llamada de función de Windows Sockets.

Windows Phone 8: esta función es compatible con las aplicaciones de Windows Phone Store en Windows Phone 8 y versiones posteriores.

Windows 8.1 y Windows Server 2012 R2: esta función es compatible con las aplicaciones de la Tienda Windows en Windows 8.1, Windows Server 2012 R2 y versiones posteriores.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8.1, Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado winsock.h (incluya Winsock2.h)
Library Ws2_32.lib
Archivo DLL Ws2_32.dll

Consulte también

WSAAsyncGetServByName

Funciones winsock

Referencia de Winsock

getservbyport