Функция NetServerTransportAddEx (lmserver.h)

Функция NetServerTransportAddEx привязывает указанный сервер к транспортному протоколу. Эта расширенная функция позволяет вызывающему приложению указывать уровни информации SERVER_TRANSPORT_INFO_0, SERVER_TRANSPORT_INFO_1, SERVER_TRANSPORT_INFO_2 или SERVER_TRANSPORT_INFO_3 .

Синтаксис

NET_API_STATUS NET_API_FUNCTION NetServerTransportAddEx(
  [in] LMSTR  servername,
  [in] DWORD  level,
  [in] LPBYTE bufptr
);

Параметры

[in] servername

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

[in] level

Задает значение, указывающее уровень информации данных. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
0
Указывает сведения о транспортном протоколе, включая имя, адрес и расположение в сети. Параметр bufptr указывает на SERVER_TRANSPORT_INFO_0 структуру.
1
Указывает сведения о транспортном протоколе, включая имя, адрес, сетевое расположение и домен. Параметр bufptr указывает на структуру SERVER_TRANSPORT_INFO_1 .
2
Указывает те же сведения, что и уровень 1, с добавлением элемента svti2_flags . Параметр bufptr указывает на SERVER_TRANSPORT_INFO_2 структуру.
3
Указывает те же сведения, что и уровень 2, с добавлением учетных данных. Параметр bufptr указывает на структуру SERVER_TRANSPORT_INFO_3 .

[in] bufptr

Указатель на буфер, содержащий данные. Формат этих данных зависит от значения параметра level .

Дополнительные сведения см. в разделе Буферы функций управления сетью.

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

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

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

Код возврата Описание
ERROR_ACCESS_DENIED
Пользователь не имеет доступа к запрошенной информации.
ERROR_DUP_NAME
В сети существует повторяющееся имя.
ERROR_INVALID_DOMAINNAME
Не удалось найти доменное имя в сети.
ERROR_INVALID_LEVEL
Недопустимое значение, указанное для параметра level .
ERROR_INVALID_PARAMETER
Недопустимый параметр.

Эта ошибка возвращается, если имя транспорта или член адреса транспорта в структуре SERVER_TRANSPORT_INFO_0, SERVER_TRANSPORT_INFO_1, SERVER_TRANSPORT_INFO_2 или SERVER_TRANSPORT_INFO_3 , на которую указывает параметр bufptr , имеет значение NULL. Эта ошибка также возвращается, если элемент длины адреса транспорта в структуре SERVER_TRANSPORT_INFO_0, SERVER_TRANSPORT_INFO_1, SERVER_TRANSPORT_INFO_2 или SERVER_TRANSPORT_INFO_3 , на который указывает параметр bufptr , равен нулю или больше MAX_PATH (определяется в файле заголовка Windef.h ). Эта ошибка также возвращается, если элемент флагов SERVER_TRANSPORT_INFO_2 или структура SERVER_TRANSPORT_INFO_3 , на которую указывает параметр bufptr , содержит недопустимое значение.

Эта ошибка также возвращается для других недопустимых параметров.

ERROR_NOT_ENOUGH_MEMORY
Недостаточно памяти.

Комментарии

Только члены локальной группы Администраторы или Операторы сервера могут успешно выполнять функцию NetServerTransportAddEx .

При добавлении транспортного протокола на сервер с помощью вызова функции NetServerTransportAddEx подключение не останется после перезагрузки или перезапуска сервера.

Функция NetServerComputerNameAdd — это служебная функция. Он сочетает в себе функции NetServerTransportEnum и NetServerTransportAddEx , что позволяет указать эмулированное имя сервера.

В Windows Server 2008 и Windows Vista с пакетом обновления 1 (SP1) каждое имя, зарегистрированное на удаленном файловом сервере Windows (SRV), обозначается как имя с заданной областью или как имя без области действия. После этого каждый общий ресурс, добавляемый в систему, будет либо присоединен ко всем именам без области действия, либо к одному имени с заданной областью. Приложения, которые хотят использовать функции области, отвечают как за регистрацию нового имени в качестве конечной точки с заданной областью, так и за создание общих папок с соответствующим область. Таким образом, устаревшие функции управления сетью и управления общими сетевыми ресурсами никак не затрагиваются, так как они продолжают регистрировать общие папки и имена как имена без области действия.

Конечная точка с заданной областью создается путем вызова функции NetServerTransportAddEx с параметром level , равным 2, а параметр bufptr указывает на SERVER_TRANSPORT_INFO_2 структуру с SVTI2_SCOPED_NAME битовое значение, заданное в элементе svti2_flags . Конечная точка с заданной областью также создается путем вызова функции NetServerTransportAddEx с параметром level , равным 3, а параметр bufptr указывает на SERVER_TRANSPORT_INFO_3 структуру с SVTI2_SCOPED_NAME битовое значение, заданное в элементе svti3_flags .

Если для транспорта задано битовое значение SVTI2_SCOPED_NAME , общие папки можно добавить с соответствующим именем сервера ( shi503_servername членом структуры SHARE_INFO_503 ) с помощью функции NetShareAdd . Если нет транспорта, зарегистрированного с SVTI2_SCOPED_NAME битовое значение и имя, указанное в элементе shi503_servername , добавление общей папки с заданной областью не будет выполнено.

Функция NetShareAdd используется для добавления общей папки с заданной областью на удаленный сервер, указанный в параметре servername . Удаленный сервер, указанный в shi503_servernameчлене SHARE_INFO_503 , переданного в параметре bufptr , должен быть привязан к транспортному протоколу с помощью функции NetServerTransportAddEx в качестве конечной точки с заданной областью. Флаг SVTI2_SCOPED_NAME должен быть указан в элементе shi503_servernameструктуры SERVER_TRANSPORT_INFO_2 или SERVER_TRANSPORT_INFO_3 для транспортного протокола. Функция NetShareDelEx используется для удаления общего ресурса с заданной областью. Функции NetShareGetInfo и NetShareSetInfo используются для получения и задания сведений об общем ресурсе с заданной областью.

Конечные точки с заданной областью обычно используются пространством имен кластера.

Требования

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

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

NetServerComputerNameAdd

NetServerComputerNameDel

NetServerTransportAdd

NetServerTransportDel

NetServerTransportEnum

NetShareAdd

NetShareDelEx

NetShareGetInfo

NetShareSetInfo

Функции управления сетью

Общие сведения об управлении сетью

SERVER_TRANSPORT_INFO_0

SERVER_TRANSPORT_INFO_1

SERVER_TRANSPORT_INFO_2

SERVER_TRANSPORT_INFO_3

SHARE_INFO_503

Функции транспорта сервера и рабочей станции