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

서버 정보를 수신하는 버퍼에 대한 포인터입니다. 이 데이터의 형식은 수준 매개 변수의 값에 따라 달라집니다. 자세한 내용은 네트워크 관리 함수 버퍼를 참조하세요.

[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를 프로그래밍하는 경우 특정 ADSI(Active Directory Service Interface) 메서드를 호출하여 네트워크 관리 서버 함수를 호출하여 달성할 수 있는 동일한 기능을 달성할 수 있습니다. 자세한 내용은 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를 호출하여 level 매개 변수를 1005(필수)로 지정하여 SERVER_INFO_1005 구조체의 sv1005_comment 멤버를 설정합니다.

#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
헤더 lmserver.h(Lm.h 포함)
라이브러리 Netapi32.lib
DLL Netapi32.dll

참고 항목

NetServerGetInfo

네트워크 관리 함수

네트워크 관리 개요

SERVER_INFO_101

SERVER_INFO_102

SERVER_INFO_402

SERVER_INFO_403

서버 함수