Partager via


DnsHostnameToComputerNameW, fonction (winbase.h)

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

Syntaxe

BOOL DnsHostnameToComputerNameW(
  [in]      LPCWSTR Hostname,
  [out]     LPWSTR  ComputerName,
  [in, out] LPDWORD nSize
);

Paramètres

[in] Hostname

Nom DNS. Si le nom DNS n’est pas valide et 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, dans TCHAR. En sortie, reçoit le nombre d'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 de retour

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’erreur étendues, appelez GetLastError. Les valeurs possibles sont les suivantes.

Retourner le code 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 à être 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 textuel pour les noms de domaine.

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

Note

L’en-tête winbase.h définit DnsHostnameToComputerName comme 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. Le mélange 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winbase.h (inclure Windows.h)
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

GetComputerNameEx

SetComputerNameEx

fonctions d’information système