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


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

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

Синтаксис

BOOL SetComputerNameExW(
  [in] COMPUTER_NAME_FORMAT NameType,
  [in] LPCWSTR              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

Системные информационные функции