Função gethostname (winsock.h)
A função gethostname recupera o nome do host padrão para o computador local.
Sintaxe
int gethostname(
[out] char *name,
[in] int namelen
);
Parâmetros
[out] name
Um ponteiro para um buffer que recebe o nome do host local.
[in] namelen
O comprimento, em bytes, do buffer apontado pelo parâmetro name .
Retornar valor
Se nenhum erro ocorrer, gethostname retornará zero. Caso contrário, ele retorna SOCKET_ERROR e um código de erro específico pode ser recuperado chamando WSAGetLastError.
Código do erro | Significado |
---|---|
O parâmetro name é um ponteiro NULL ou não é uma parte válida do espaço de endereço do usuário. Esse erro também será retornado se o tamanho do buffer especificado pelo parâmetro namelen for muito pequeno para manter o nome completo do host. | |
Uma chamada WSAStartup bem-sucedida deve ocorrer antes de usar essa função. | |
O subsistema de rede falhou. | |
Uma chamada do Windows Sockets 1.1 de bloqueio está em andamento ou o provedor de serviços ainda está processando uma função de retorno de chamada. |
Comentários
A função gethostname retorna o nome do host local no buffer especificado pelo parâmetro name . O nome do host é retornado como uma cadeia de caracteres terminada em nulo. A forma do nome do host depende do provedor de Soquetes do Windows, pode ser um nome de host simples ou pode ser um nome de domínio totalmente qualificado. No entanto, é garantido que o nome retornado será analisado com êxito por gethostbyname e WSAAsyncGetHostByName.
O comprimento máximo do nome retornado no buffer apontado pelo parâmetro name depende do provedor de namespace.
Se a função gethostname for usada em um recurso de cluster no Windows Server 2008, Windows Server 2003 ou Windows 2000 Server e a variável de ambiente CLUSTER_NETWORK_NAME for definida, o valor nessa variável de ambiente substituirá o nome do host real e será retornado. Em um recurso de cluster, a variável de ambiente CLUSTER_NETWORK_NAME contém o nome do cluster.
A função gethostname consulta provedores de namespace para determinar o nome do host local usando o GUID SVCID_HOSTNAME definido no arquivo de cabeçalho Svgguid.h . Se nenhum provedor de namespace responder, a função gethostname retornará o nome NetBIOS do computador local.
O comprimento máximo, em bytes, da cadeia de caracteres retornada no buffer apontado pelo parâmetro name depende do provedor de namespace, mas essa cadeia de caracteres deve ter 256 bytes ou menos. Portanto, se um buffer de 256 bytes for passado no parâmetro name e o parâmetro namelen for definido como 256, o tamanho do buffer sempre será adequado.
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 |