gethostname, fonction (winsock2.h)
La fonction gethostname récupère le nom d’hôte standard de l’ordinateur local.
Syntaxe
int WSAAPI gethostname(
[out] char *name,
[in] int namelen
);
Paramètres
[out] name
Pointeur vers une mémoire tampon qui reçoit le nom d’hôte local.
[in] namelen
Longueur, en octets, de la mémoire tampon pointée vers le paramètre name .
Valeur retournée
Si aucune erreur ne se produit, gethostname retourne zéro. Sinon, il retourne SOCKET_ERROR et un code d’erreur spécifique peut être récupéré en appelant WSAGetLastError.
Code d'erreur | Signification |
---|---|
Le paramètre name est un pointeur NULL ou n’est pas une partie valide de l’espace d’adressage utilisateur. Cette erreur est également retournée si la taille de mémoire tampon spécifiée par le paramètre namelen est trop petite pour contenir le nom d’hôte complet. | |
Un appel WSAStartup réussi doit se produire avant d’utiliser cette fonction. | |
Le sous-système réseau a échoué. | |
Un appel Windows Sockets 1.1 bloquant est en cours ou le fournisseur de services traite toujours une fonction de rappel. |
Remarques
La fonction gethostname retourne le nom de l’hôte local dans la mémoire tampon spécifiée par le paramètre name . Le nom d’hôte est retourné sous la forme d’une chaîne terminée par une valeur Null. La forme du nom d’hôte dépend du fournisseur Windows Sockets : il peut s’agir d’un nom d’hôte simple ou d’un nom de domaine complet. Toutefois, il est garanti que le nom retourné sera correctement analysé par gethostbyname et WSAAsyncGetHostByName.
La longueur maximale du nom retourné dans la mémoire tampon pointée par le paramètre name dépend du fournisseur d’espaces de noms.
Si la fonction gethostname est utilisée sur une ressource de cluster sur Windows Server 2008, Windows Server 2003 ou Windows 2000 Server et que la variable d’environnement CLUSTER_NETWORK_NAME est définie, la valeur de cette variable d’environnement remplace le nom d’hôte réel et est retournée. Sur une ressource de cluster, la variable d’environnement CLUSTER_NETWORK_NAME contient le nom du cluster.
La fonction gethostname interroge les fournisseurs d’espaces de noms pour déterminer le nom d’hôte local à l’aide du GUID SVCID_HOSTNAME défini dans le fichier d’en-tête Svgguid.h . Si aucun fournisseur d’espace de noms ne répond, la fonction gethostname retourne le nom NetBIOS de l’ordinateur local.
La longueur maximale, en octets, de la chaîne retournée dans la mémoire tampon pointée par le paramètre name dépend du fournisseur d’espaces de noms, mais cette chaîne doit être inférieure ou inférieure à 256 octets. Par conséquent, si une mémoire tampon de 256 octets est passée dans le paramètre name et que le paramètre namelen est défini sur 256, la taille de la mémoire tampon sera toujours adéquate.
Windows Phone 8 : cette fonction est prise en charge pour les applications Windows Phone Store sur Windows Phone 8 et versions ultérieures.
Windows 8.1 et Windows Server 2012 R2 : cette fonction est prise en charge pour les applications du Windows Store sur Windows 8.1, Windows Server 2012 R2 et versions ultérieures.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8.1, Windows Vista [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | winsock2.h (inclure Winsock2.h) |
Bibliothèque | Ws2_32.lib |
DLL | Ws2_32.dll |