Функция 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
Указывает уровень информации о данных. Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
|
Указывает имя сервера, тип и связанное программное обеспечение. Параметр buf указывает на структуру SERVER_INFO_101 . |
|
Указывает имя сервера, тип, связанное программное обеспечение и другие атрибуты. Параметр buf указывает на структуру SERVER_INFO_102 . |
|
Указывает подробные сведения о сервере. Параметр buf указывает на структуру SERVER_INFO_402 . |
|
Указывает подробные сведения о сервере. Параметр 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.
Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
У пользователя нет доступа к запрошенной информации. |
|
Значение, указанное для параметра level , является недопустимым. |
|
Указанный параметр является недопустимым. Дополнительные сведения см. в разделе "Примечания". |
|
Недостаточно памяти. |
Комментарии
Только члены локальной группы "Администраторы" или "Операторы сервера" могут успешно выполнять функцию 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 |