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


Функция 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка sysinfoapi.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

COMPUTER_NAME_FORMAT

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

DnsHostnameToComputerName

GetComputerName

GetComputerNameEx

SetComputerName

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