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


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

Функция NetServerSetInfo задает операционные параметры сервера; он может задавать их по отдельности или коллективно. Информация хранится таким образом, чтобы она оставалась в силе после повторной инициализации системы.

Синтаксис

NET_API_STATUS NET_API_FUNCTION NetServerSetInfo(
  [in]  LMSTR   servername,
  [in]  DWORD   level,
  [in]  LPBYTE  buf,
  [out] LPDWORD ParmError
);

Параметры

[in] servername

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

[in] level

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

Значение Значение
101
Указывает имя сервера, тип и связанное программное обеспечение. Параметр buf указывает на структуру SERVER_INFO_101 .
102
Указывает имя сервера, тип, связанное программное обеспечение и другие атрибуты. Параметр buf указывает на структуру SERVER_INFO_102 .
402
Указывает подробные сведения о сервере. Параметр buf указывает на структуру SERVER_INFO_402 .
403
Указывает подробные сведения о сервере. Параметр buf указывает на структуру SERVER_INFO_403 .
 

Кроме того, уровни 1001-1006, 1009-1011, 1016-1018, 1021, 1022, 1028, 1029, 1037 и 1043 являются допустимыми в зависимости от ограничений для систем LAN Manager.

[in] buf

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

[out] ParmError

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

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

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

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

Код возврата Описание
ERROR_ACCESS_DENIED
У пользователя нет доступа к запрошенной информации.
ERROR_INVALID_LEVEL
Значение, указанное для параметра level , является недопустимым.
ERROR_INVALID_PARAMETER
Указанный параметр является недопустимым. Дополнительные сведения см. в разделе "Примечания".
ERROR_NOT_ENOUGH_MEMORY
Недостаточно памяти.

Комментарии

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

При программировании для Active Directory вы можете вызвать определенные методы интерфейса службы Active Directory (ADSI) для достижения тех же функциональных возможностей, которые можно достичь, вызвав функции сервера управления сетью. Дополнительные сведения см. в разделе IADsComputer.

Если функция NetServerSetInfo возвращает ERROR_INVALID_PARAMETER, можно использовать параметр ParmError , чтобы указать, что первый элемент информационной структуры сервера является недопустимым. (Структура сведений о сервере начинается с SERVER_INFO_ и ее формат задается параметром level .) В следующей таблице перечислены значения, которые могут быть возвращены в параметре ParmError , и соответствующий элемент структуры, который находится в ошибке. (Префикс sv*_ указывает, что элемент может начинаться с нескольких префиксов, например sv101_ или sv402_.)

Значение Член
SV_PLATFORM_ID_PARMNUM sv*_platform_id
SV_NAME_PARMNUM sv*_name
SV_VERSION_MAJOR_PARMNUM sv*_version_major
SV_VERSION_MINOR_PARMNUM sv*_version_minor
SV_TYPE_PARMNUM sv*_type
SV_COMMENT_PARMNUM sv*_comment
SV_USERS_PARMNUM sv*_users
SV_DISC_PARMNUM sv*_disc
SV_HIDDEN_PARMNUM sv*_hidden
SV_ANNOUNCE_PARMNUM sv*_announce
SV_ANNDELTA_PARMNUM sv*_anndelta
SV_USERPATH_PARMNUM sv*_userpath
SV_ULIST_MTIME_PARMNUM sv*_ulist_mtime
SV_GLIST_MTIME_PARMNUM sv*_glist_mtime
SV_ALIST_MTIME_PARMNUM sv*_alist_mtime
SV_ALERTS_PARMNUM sv*_alerts
SV_SECURITY_PARMNUM sv*_security
SV_NUMADMIN_PARMNUM sv*_numadmin
SV_LANMASK_PARMNUM sv*_lanmask
SV_GUESTACC_PARMNUM sv*_guestacc
SV_CHDEVQ_PARMNUM sv*_chdevq
SV_CHDEVJOBS_PARMNUM sv*_chdevjobs
SV_CONNECTIONS_PARMNUM sv*_connections
SV_SHARES_PARMNUM sv*_shares
SV_OPENFILES_PARMNUM sv*_openfiles
SV_SESSOPENS_PARMNUM sv*_sessopens
SV_SESSVCS_PARMNUM sv*_sessvcs
SV_SESSREQS_PARMNUM sv*_sessreqs
SV_OPENSEARCH_PARMNUM sv*_opensearch
SV_ACTIVELOCKS_PARMNUM sv*_activelocks
SV_NUMREQBUF_PARMNUM sv*_numreqbuf
SV_SIZREQBUF_PARMNUM sv*_sizreqbuf
SV_NUMBIGBUF_PARMNUM sv*_numbigbuf
SV_NUMFILETASKS_PARMNUM sv*_numfiletasks
SV_ALERTSCHED_PARMNUM sv*_alertsched
SV_ERRORALERT_PARMNUM sv*_erroralert
SV_LOGONALERT_PARMNUM sv*_logonalert
SV_ACCESSALERT_PARMNUM sv*_accessalert
SV_DISKALERT_PARMNUM sv*_diskalert
SV_NETIOALERT_PARMNUM sv*_netioalert
SV_MAXAUDITSZ_PARMNUM sv*_maxauditsz
SV_SRVHEURISTICS_PARMNUM sv*_srvheuristics
SV_TIMESOURCE_PARMNUM sv*_timesource
 

Примеры

В следующем примере кода показано, как вызвать функцию NetServerSetInfo . Пример вызывает NetServerSetInfo, указывая параметр уровня как 1005 (обязательный), чтобы задать элемент sv1005_commentструктуры SERVER_INFO_1005 .

#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "netapi32.lib")

#include <stdio.h>
#include <windows.h> 
#include <lm.h>

int wmain(int argc, wchar_t *argv[])
{
   DWORD dwLevel = 1005;
   SERVER_INFO_1005 si;
   NET_API_STATUS nStatus;

   if (argc != 3)
   {
      fwprintf(stderr, L"Usage: %s \\\\ServerName Comment\n", argv[0]);
      exit(1);
   }
   //
   // Fill in SERVER_INFO_1005 structure member.
   //
   si.sv1005_comment = (LPTSTR) argv[2];
   //
   // Call the NetServerSetInfo function, 
   //  specifying level 1005.
   //
   nStatus = NetServerSetInfo(argv[1],
                              dwLevel,
                              (LPBYTE)&si,
                              NULL);
   //
   // Display the result of the call.
   //
   if (nStatus == NERR_Success)
      fwprintf(stderr, L"Comment reset\n", argv[2]);
   else
      fprintf(stderr, "A system error has occurred: %d\n", nStatus);
   return 0;
}

Требования

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

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

NetServerGetInfo

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

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

SERVER_INFO_101

SERVER_INFO_102

SERVER_INFO_402

SERVER_INFO_403

Функции сервера