Функция SetComputerNameExA (sysinfoapi.h)
Задает новое netBIOS-имя или DNS-имя для локального компьютера. Изменения имен, внесенные setComputerNameEx , не вступают в силу до тех пор, пока пользователь не перезагрузит компьютер.
Синтаксис
BOOL SetComputerNameExA(
[in] COMPUTER_NAME_FORMAT NameType,
[in] LPCSTR lpBuffer
);
Параметры
[in] NameType
Тип заданного имени. Этот параметр может иметь одно из следующих значений из типа перечисления COMPUTER_NAME_FORMAT .
Значение | Значение |
---|---|
|
Задает основной DNS-суффикс компьютера. |
|
Задает netBIOS и имя компьютера (первая метка полного DNS-имени) имя, указанное в lpBuffer. Если имя превышает MAX_COMPUTERNAME_LENGTH символов, netBIOS-имя усекается до MAX_COMPUTERNAME_LENGTH символов, не включая завершающий символ NULL. |
|
Задает netBIOS-имя, указанное в lpBuffer. Имя не может превышать MAX_COMPUTERNAME_LENGTH символов, не включая завершающий символ NULL.
Предупреждение. Использование этого параметра для задания netBIOS-имени нарушает соглашение о взаимозависимых именах NetBIOS и DNS. Приложения, использующие функцию DnsHostnameToComputerName для получения netBIOS-имени от первой метки DNS-имени, завершатся ошибкой, если это соглашение нарушено. |
[in] lpBuffer
Новое имя. Имя не может содержать управляющие символы, начальные или конечные пробелы, а также любой из следующих символов: " / \ [ ] : | <> + = ; , ?
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет ненулевым.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
SetComputerNameEx может задать имя компьютера (первая метка полного DNS-имени) или основной DNS-суффикс локального компьютера. Невозможно задать полное DNS-имя в одном вызове.
Если локальный компьютер является узлом в кластере, setComputerNameEx задает NetBIOS-имя или DNS-имя локального компьютера, а не виртуального сервера кластера.
Процесс, вызывающий функцию SetComputerNameEx , должен иметь права администратора на локальном компьютере.
Чтобы скомпилировать приложение, использующее эту функцию, определите _WIN32_WINNT как 0x0500 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.
Примечание
Заголовок sysinfoapi.h определяет SetComputerNameEx в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | sysinfoapi.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |