Поделиться через


Функция SetComputerNameExA (sysinfoapi.h)

Задает новое netBIOS-имя или DNS-имя для локального компьютера. Изменения имен, внесенные setComputerNameEx , не вступают в силу до тех пор, пока пользователь не перезагрузит компьютер.

Синтаксис

BOOL SetComputerNameExA(
  [in] COMPUTER_NAME_FORMAT NameType,
  [in] LPCSTR               lpBuffer
);

Параметры

[in] NameType

Тип заданного имени. Этот параметр может иметь одно из следующих значений из типа перечисления COMPUTER_NAME_FORMAT .

Значение Значение
ComputerNamePhysicalDnsDomain
Задает основной DNS-суффикс компьютера.
ComputerNamePhysicalDnsHostname
Задает netBIOS и имя компьютера (первая метка полного DNS-имени) имя, указанное в lpBuffer. Если имя превышает MAX_COMPUTERNAME_LENGTH символов, netBIOS-имя усекается до MAX_COMPUTERNAME_LENGTH символов, не включая завершающий символ NULL.
ComputerNamePhysicalNetBIOS
Задает 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

См. также

COMPUTER_NAME_FORMAT

Имена компьютеров

DnsHostnameToComputerName

GetComputerName

GetComputerNameEx

SetComputerName

Функции сведений о системе