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


Функция DnsHostnameToComputerNameA (winbase.h)

Преобразует имя узла в стиле DNS в имя компьютера в стиле NetBIOS.

Синтаксис

BOOL DnsHostnameToComputerNameA(
  [in]      LPCSTR  Hostname,
  [out]     LPSTR   ComputerName,
  [in, out] LPDWORD nSize
);

Параметры

[in] Hostname

DNS-имя. Если DNS-имя не является допустимым, переводимым именем, функция завершается ошибкой. Дополнительные сведения см. в разделе Имена компьютеров.

[out] ComputerName

Указатель на буфер, получающий имя компьютера. Размер буфера должен быть достаточно большим, чтобы содержать MAX_COMPUTERNAME_LENGTH + 1 символ.

[in, out] nSize

На входных данных указывает размер буфера в TCHAR. В выходных данных получает количество TCHAR , скопированных в целевой буфер, не включая завершающий символ NULL.

Если буфер слишком мал, функция завершается сбоем, GetLastError возвращает ERROR_MORE_DATA, а nSize получает требуемый размер буфера, не включая завершающий символ NULL.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет ненулевым.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError. Ниже приведены возможные значения.

Код возврата Описание
ERROR_MORE_DATA
Буфер ComputerName слишком мал. Параметр nSize содержит количество байтов, необходимых для получения имени.

Комментарии

Эта функция выполняет текстовое сопоставление имени. Это соглашение ограничивает имена компьютеров общим подмножеством имен. (В частности, самая левая метка DNS-имени усекается до 15 байт oem-символов.) Поэтому не используйте эту функцию для преобразования доменного имени DNS в доменное имя NetBIOS. Отсутствует текстовое сопоставление доменных имен.

Чтобы скомпилировать приложение, использующее эту функцию, определите _WIN32_WINNT как 0x0500 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.

Примечание

Заголовок winbase.h определяет DnsHostnameToComputerName в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winbase.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

GetComputerNameEx

SetComputerNameEx

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