Función gethostname (winsock.h)
La función gethostname recupera el nombre de host estándar del equipo local.
Sintaxis
int gethostname(
[out] char *name,
[in] int namelen
);
Parámetros
[out] name
Puntero a un búfer que recibe el nombre de host local.
[in] namelen
Longitud, en bytes, del búfer al que apunta el parámetro name .
Valor devuelto
Si no se produce ningún error, gethostname devuelve cero. De lo contrario, devuelve SOCKET_ERROR y se puede recuperar un código de error específico llamando a WSAGetLastError.
Código de error | Significado |
---|---|
El parámetro name es un puntero NULL o no es una parte válida del espacio de direcciones del usuario. Este error también se devuelve si el tamaño del búfer especificado por el parámetro namelen es demasiado pequeño para contener el nombre de host completo. | |
Debe producirse una llamada de WSAStartup correcta antes de usar esta función. | |
Error en el subsistema de red. | |
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. |
Comentarios
La función gethostname devuelve el nombre del host local en el búfer especificado por el parámetro name . El nombre de host se devuelve como una cadena terminada en null. El formato del nombre de host depende del proveedor de Windows Sockets: puede ser un nombre de host simple o puede ser un nombre de dominio completo. Sin embargo, se garantiza que el nombre devuelto se analizará correctamente mediante gethostbyname y WSAAsyncGetHostByName.
La longitud máxima del nombre devuelto en el búfer al que apunta el parámetro name depende del proveedor de espacios de nombres.
Si la función gethostname se usa en un recurso de clúster en Windows Server 2008, Windows Server 2003 o Windows 2000 Server y se define la variable de entorno CLUSTER_NETWORK_NAME , el valor de esta variable de entorno invalida el nombre de host real y se devuelve. En un recurso de clúster, la variable de entorno CLUSTER_NETWORK_NAME contiene el nombre del clúster.
La función gethostname consulta proveedores de espacios de nombres para determinar el nombre de host local mediante el GUID de SVCID_HOSTNAME definido en el archivo de encabezado Svgguid.h . Si no responde ningún proveedor de espacios de nombres, la función gethostname devuelve el nombre NetBIOS del equipo local.
La longitud máxima, en bytes, de la cadena devuelta en el búfer a la que apunta el parámetro name depende del proveedor de espacios de nombres, pero esta cadena debe tener 256 bytes o menos. Por lo tanto, si se pasa un búfer de 256 bytes en el parámetro name y el parámetro namelen se establece en 256, el tamaño del búfer siempre será adecuado.
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 |