Fonction SetComputerNameExA (sysinfoapi.h)
Définit un nouveau nom NetBIOS ou DNS pour l’ordinateur local. Les modifications de nom apportées par SetComputerNameEx ne prennent pas effet tant que l’utilisateur n’a pas redémarré l’ordinateur.
Syntaxe
BOOL SetComputerNameExA(
[in] COMPUTER_NAME_FORMAT NameType,
[in] LPCSTR lpBuffer
);
Paramètres
[in] NameType
Type de nom à définir. Ce paramètre peut être l’une des valeurs suivantes du type d’énumération COMPUTER_NAME_FORMAT .
Valeur | Signification |
---|---|
|
Définit le suffixe DNS principal de l’ordinateur. |
|
Définit NetBIOS et le nom de l’ordinateur (la première étiquette du nom DNS complet) sur le nom spécifié dans lpBuffer. Si le nom dépasse MAX_COMPUTERNAME_LENGTH caractères, le nom NetBIOS est tronqué pour MAX_COMPUTERNAME_LENGTH caractères, sans inclure le caractère null de fin. |
|
Définit le nom NetBIOS sur le nom spécifié dans lpBuffer. Le nom ne peut pas dépasser MAX_COMPUTERNAME_LENGTH caractères, sans inclure le caractère null de fin.
Avertissement : L’utilisation de cette option pour définir le nom NetBIOS rompt la convention des noms NetBIOS et DNS interdépendants. Les applications qui utilisent la fonction DnsHostnameToComputerName pour dériver le nom NetBIOS de la première étiquette du nom DNS échouent si cette convention est rompue. |
[in] lpBuffer
Nouveau nom. Le nom ne peut pas inclure des caractères de contrôle, des espaces de début ou de fin, ou l’un des caractères suivants : " / \ [ ] : | <> + = ; , ?
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.
Remarques
SetComputerNameEx peut définir le nom de l’ordinateur (la première étiquette du nom DNS complet) ou le suffixe DNS principal de l’ordinateur local. Il ne peut pas définir un nom DNS complet dans un seul appel.
Si l’ordinateur local est un nœud dans un cluster, SetComputerNameEx définit le nom NetBIOS ou DNS de l’ordinateur local, et non celui du serveur virtuel du cluster.
Le processus qui appelle la fonction SetComputerNameEx doit disposer de privilèges d’administrateur sur l’ordinateur local.
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 sysinfoapi.h définit SetComputerNameEx comme un 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.
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 | sysinfoapi.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |