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


Функция NetEnumerateComputerNames (lmjoin.h)

Функция NetEnumerateComputerNames перечисляет имена для указанного компьютера.

Синтаксис

NET_API_STATUS NET_API_FUNCTION NetEnumerateComputerNames(
  [in, optional] LPCWSTR                Server,
  [in]           NET_COMPUTER_NAME_TYPE NameType,
  [in]           ULONG                  Reserved,
  [out]          PDWORD                 EntryCount,
  [out]          LPWSTR                 **ComputerNames
);

Параметры

[in, optional] Server

Указатель на константную строку, указывающую имя компьютера, на котором выполняется эта функция. Если этот параметр имеет значение NULL, используется локальный компьютер.

[in] NameType

Тип запрашиваемого имени. Этот член может быть одним из следующих значений, определенных в перечислении NET_COMPUTER_NAME_TYPE , определенном в файле заголовка Lmjoin.h .

Значение Значение
NetPrimaryComputerName
Имя основного компьютера.
NetAlternateComputerNames
Альтернативные имена компьютеров.
NetAllComputerNames
Все имена компьютеров.
NetComputerNameTypeMax
Указывает конец диапазона, указывающий возможные значения для типа имени, к которому будет выполняться запрос.

[in] Reserved

Зарезервировано для последующего использования. Этот параметр должен иметь значение NULL.

[out] EntryCount

Указатель на значение DWORD, возвращающее количество имен, возвращаемых в буфере, на которое указывает параметр ComputerNames , если функция выполнена успешно.

[out] ComputerNames

Указатель на массив указателей на имена. Если вызов функции выполнен успешно, этот параметр возвращает имена компьютеров, которые соответствуют имени типа компьютера, указанному в параметре NameType .

Если приложению больше не нужен этот массив, этот буфер следует освободить, вызвав функцию NetApiBufferFree .

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

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

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

Код возврата Описание
ERROR_ACCESS_DENIED
Отказано в доступе". Эта ошибка возвращается, если вызывающий объект не был членом локальной группы "Администраторы" на целевом компьютере.
ERROR_INVALID_PARAMETER
Неправильный параметр.
ERROR_NOT_ENOUGH_MEMORY
Недостаточно памяти для обработки этой команды.
ERROR_NOT_SUPPORTED
Запрос не поддерживается. Эта ошибка возвращается, если целевой компьютер, указанный в параметре Server , на котором выполняется эта функция, работает в Windows 2000 и более ранних версиях.
NERR_WkstaNotStarted
Служба рабочей станции не запущена.
RPC_S_CALL_IN_PROGRESS
Удаленный вызов процедуры для этого потока уже выполняется.
RPC_S_PROTSEQ_NOT_SUPPORTED
Последовательность протокола удаленного вызова процедур не поддерживается.

Комментарии

Функция NetEnumerateComputerNames поддерживается в Windows Vista и более поздних версиях.

Функция NetEnumerateComputerNames используется для запроса имен, настроенных компьютером в данный момент.

Функция NetEnumerateComputerNames требует, чтобы вызывающий объект был членом локальной группы "Администраторы" на целевом компьютере.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header lmjoin.h (включая Lm.h)
Библиотека Netapi32.lib
DLL Netapi32.dll

См. также раздел

NetAddAlternateComputerName

NetJoinDomain

NetRemoveAlternateComputerName

NetRenameMachineInDomain

NetSetPrimaryComputerName

NetUnjoinDomain

SetComputerNameEx