Partager via


DnsHostnameToComputerNameA, fonction (winbase.h)

Convertit un nom d’hôte de style DNS en nom d’ordinateur de style NetBIOS.

Syntaxe

BOOL DnsHostnameToComputerNameA(
  [in]      LPCSTR  Hostname,
  [out]     LPSTR   ComputerName,
  [in, out] LPDWORD nSize
);

Paramètres

[in] Hostname

Nom DNS. Si le nom DNS n’est pas un nom valide et pouvant être traduit, la fonction échoue. Pour plus d’informations, consultez Noms d’ordinateurs.

[out] ComputerName

Pointeur vers une mémoire tampon qui reçoit le nom de l’ordinateur. La taille de la mémoire tampon doit être suffisamment grande pour contenir MAX_COMPUTERNAME_LENGTH + 1 caractères.

[in, out] nSize

Lors de l’entrée, spécifie la taille de la mémoire tampon, en TCHAR. À la sortie, reçoit le nombre de TCHAR copiés dans la mémoire tampon de destination, sans inclure le caractère null de fin.

Si la mémoire tampon est trop petite, la fonction échoue, GetLastError retourne ERROR_MORE_DATA et nSize reçoit la taille de mémoire tampon requise, sans inclure le caractère null de fin.

Valeur retournée

Si la fonction réussit, la valeur de retour est une valeur différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError. Les valeurs possibles sont les suivantes.

Code de retour Description
ERROR_MORE_DATA
La mémoire tampon ComputerName est trop petite. Le paramètre nSize contient le nombre d’octets requis pour recevoir le nom.

Remarques

Cette fonction effectue un mappage textuel du nom. Cette convention limite les noms des ordinateurs comme étant le sous-ensemble commun des noms. (Plus précisément, l’étiquette la plus à gauche du nom DNS est tronquée à 15 octets de caractères OEM.) Par conséquent, n’utilisez pas cette fonction pour convertir un nom de domaine DNS en nom de domaine NetBIOS. Il n’existe aucun mappage de texte pour les noms de domaine.

Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT comme 0x0500 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.

Notes

L’en-tête winbase.h définit DnsHostnameToComputerName en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

GetComputerNameEx

SetComputerNameEx

Fonctions d’information système