다음을 통해 공유


NetWkstaSetInfo 함수(lmwksta.h)

NetWkstaSetInfo 함수는 시스템이 다시 초기화된 후에도 계속 적용되는 정보로 워크스테이션을 구성합니다.

구문

NET_API_STATUS NET_API_FUNCTION NetWkstaSetInfo(
  [in]  LMSTR   servername,
  [in]  DWORD   level,
  [in]  LPBYTE  buffer,
  [out] LPDWORD parm_err
);

매개 변수

[in] servername

함수를 실행할 원격 서버의 DNS 또는 NetBIOS 이름을 지정하는 문자열에 대한 포인터입니다. 이 매개 변수가 NULL이면 로컬 컴퓨터가 사용됩니다.

[in] level

데이터의 정보 수준입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
100
Windows NT: 플랫폼별 정보, 도메인 및 로컬 컴퓨터의 이름 및 운영 체제 관련 정보를 포함하여 워크스테이션 환경에 대한 정보를 지정합니다. 버퍼 매개 변수는 WKSTA_INFO_100 구조를 가리킵니다. 이 구조체의 wk100_computernamewk100_langroup 필드는 이 함수를 호출하여 설정할 수 없습니다. 이러한 값을 설정하려면 SetComputerName/SetComputerNameEx 또는 NetJoinDomain을 각각 호출합니다.
101
Windows NT: 수준 100 정보 외에도 LANMAN 디렉터리의 경로를 지정합니다. 버퍼 매개 변수는 WKSTA_INFO_101 구조를 가리킵니다. 이 구조체의 wk101_computernamewk101_langroup 필드는 이 함수를 호출하여 설정할 수 없습니다. 이러한 값을 설정하려면 SetComputerName/SetComputerNameEx 또는 NetJoinDomain을 각각 호출합니다.
102
Windows NT: 수준 101 정보 외에도 는 로컬 컴퓨터에 로그온한 사용자 수를 지정합니다. 버퍼 매개 변수는 WKSTA_INFO_102 구조를 가리킵니다. 이 구조체의 wk102_computernamewk102_langroup 필드는 이 함수를 호출하여 설정할 수 없습니다. 이러한 값을 설정하려면 SetComputerName/SetComputerNameEx 또는 NetJoinDomain을 각각 호출합니다.
502
Windows NT: 버퍼 매개 변수는 워크스테이션 환경에 대한 정보를 포함하는 WKSTA_INFO_502 구조를 가리킵니다.
 

수준을 1010-1013, 1018, 1023, 1027, 1028, 1032, 1033, 1035 또는 1041-1062로 설정하지 마세요.

[in] buffer

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

[out] parm_err

ERROR_INVALID_PARAMETER 오류를 일으키는 워크스테이션 정보 구조의 첫 번째 멤버의 인덱스를 수신하는 값에 대한 포인터입니다. 이 매개 변수가 NULL이면 인덱스가 오류로 반환되지 않습니다. 자세한 내용은 주의 섹션을 참조하세요.

반환 값

함수가 성공하면 반환 값이 NERR_Success.

함수가 실패하면 반환 값은 다음 오류 코드 중 하나일 수 있습니다.

반환 코드 설명
ERROR_ACCESS_DENIED
사용자는 요청한 정보에 대한 액세스 권한이 없습니다.
ERROR_INVALID_PARAMETER
함수 매개 변수 중 하나가 잘못되었습니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

설명

관리자 그룹의 멤버만 원격 서버에서 NetWkstaSetInfo 함수를 성공적으로 실행할 수 있습니다.

NetWkstaSetInfo 함수는 로컬 시스템 또는 원격 시스템에서 워크스테이션 서비스를 호출합니다. 실제로 NetWkstaSetInfo 함수를 사용하여 제한된 수의 WKSTA_INFO_502 구조체 멤버만 변경할 수 있습니다. 워크스테이션 서비스에서 무시되는 멤버가 설정된 경우 오류가 반환되지 않습니다. 워크스테이션 서비스는 주로 레지스트리의 설정을 사용하여 구성됩니다.

NetWkstaUserSetInfo 함수 대신 NetWkstaSetInfo 함수를 사용하여 로컬 시스템에 대한 구성 정보를 설정할 수 있습니다. NetWkstaUserSetInfo 함수는 LSA(로컬 보안 기관)를 호출합니다.

NetWkstaSetInfo 함수가 ERROR_INVALID_PARAMETER 반환하는 경우 parm_err 매개 변수를 사용하여 잘못된 워크스테이션 정보 구조의 첫 번째 멤버를 나타낼 수 있습니다. 워크스테이션 정보 구조는 WKSTA_INFO_ 시작하며 해당 형식은 수준 매개 변수로 지정됩니다. 다음 표에서는 parm_err 매개 변수에 반환할 수 있는 값과 오류가 발생한 해당 구조체 멤버를 나열합니다. (접두사 wki*_는 멤버가 여러 접두사(예: wki100_ 또는 wki402_)로 시작할 수 있음을 나타냅니다.

멤버
WKSTA_PLATFORM_ID_PARMNUM wki*_platform_id
WKSTA_COMPUTERNAME_PARMNUM wki*_computername
WKSTA_LANGROUP_PARMNUM wki*_langroup
WKSTA_VER_MAJOR_PARMNUM wki*_ver_major
WKSTA_VER_MINOR_PARMNUM wki*_ver_minor
WKSTA_LOGGED_ON_USERS_PARMNUM wki*_logged_on_users
WKSTA_LANROOT_PARMNUM wki*_lanroot
WKSTA_LOGON_DOMAIN_PARMNUM wki*_logon_domain
WKSTA_LOGON_SERVER_PARMNUM wki*_logon_server
WKSTA_CHARWAIT_PARMNUM wki*_char_wait
WKSTA_CHARTIME_PARMNUM wki*_collection_time
WKSTA_CHARCOUNT_PARMNUM wki*_maximum_collection_count
WKSTA_KEEPCONN_PARMNUM wki*_keep_conn
WKSTA_KEEPSEARCH_PARMNUM wki*_keep_search
WKSTA_MAXCMDS_PARMNUM wki*_max_cmds
WKSTA_NUMWORKBUF_PARMNUM wki*_num_work_buf
WKSTA_MAXWRKCACHE_PARMNUM wki*_max_wrk_cache
WKSTA_SESSTIMEOUT_PARMNUM wki*_sess_timeout
WKSTA_SIZERROR_PARMNUM wki*_siz_error
WKSTA_NUMALERTS_PARMNUM wki*_num_alerts
WKSTA_NUMSERVICES_PARMNUM wki*_num_services
WKSTA_ERRLOGSZ_PARMNUM wki*_errlog_sz
WKSTA_PRINTBUFTIME_PARMNUM wki*_print_buf_time
WKSTA_NUMCHARBUF_PARMNU wki*_num_char_buf
WKSTA_SIZCHARBUF_PARMNUM wki*_siz_char_buf
WKSTA_WRKHEURISTICS_PARMNUM wki*_wrk_heuristics
WKSTA_MAILSLOTS_PARMNUM wki*_mailslots
WKSTA_MAXTHREADS_PARMNUM wki*_max_threads
WKSTA_SIZWORKBUF_PARMNUM wki*_siz_work_buf
WKSTA_NUMDGRAMBUF_PARMNUM wki*_num_dgram_buf
 

워크스테이션 서비스 매개 변수 설정은 LAN 관리자가 이전에 사용한 LanMan.ini 파일이 아니라 레지스트리에 저장됩니다. NetWkstaSetInfo 함수는 LanMan.ini 파일의 값을 변경하지 않습니다. 워크스테이션 서비스가 중지되고 다시 시작되면 워크스테이션 매개 변수는 명령줄 매개 변수로 덮어쓰지 않는 한 레지스트리에 지정된 기본값으로 다시 설정됩니다. 워크스테이션 매개 변수를 다시 설정할 때 NetWkstaSetInfo 에 대한 이전 호출에서 설정한 값을 덮어쓸 수 있습니다.

예제

다음 코드 샘플에서는 NetServerSetInfo 함수에 대한 호출을 사용하여 워크스테이션과 연결된 세션 시간 제한 값을 설정하는 방법을 보여 줍니다. (세션 시간 제한은 서버가 비활성 세션의 연결을 끊기 전에 대기하는 시간(초)입니다.) 코드는 정보 수준 502(WKSTA_INFO_502)를 지정합니다.

#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[])
{
   LPWKSTA_INFO_502 pBuf = NULL;
   WKSTA_INFO_502 wi;
   DWORD dwLevel = 502;
   NET_API_STATUS nStatus;
   LPWSTR pszServerName = NULL;

   if ((argc < 2) || (argc > 3))
   {
      fwprintf(stderr, L"Usage: %s [\\\\ServerName] SessionTimeOut\n", argv[0]);
      exit(1);
   }

   if (argc == 3)
      pszServerName = argv[1];
   //
   // Retrieve the current settings.
   //
   nStatus = NetWkstaGetInfo(pszServerName,
                             dwLevel,
                             (LPBYTE *)&pBuf);

   if (nStatus != NERR_Success)
   {
      fprintf(stderr, "A system error has occurred (NetWkstaGetInfo): %d\n", nStatus);
      return -1;
   }

   if (pBuf != NULL)
   {
      //
      // Copy the existing settings to the new structure,
      //   and free the buffer.
      //
      CopyMemory(&wi, pBuf, sizeof(wi));
      NetApiBufferFree(pBuf);
   }
   else
   {
      fprintf(stderr, "Memory invalid!\n");
      return -1;
   }
   //
   // Set a new session time-out value by
   //   calling the NetWkstaSetInfo function.
   //
   wi.wki502_sess_timeout = _wtoi(argv[argc-1]);
   nStatus = NetWkstaSetInfo(pszServerName,
                             dwLevel,
                             (LPBYTE)&wi,
                             NULL);
   //
   // Display the result of the call.
   //
   if (nStatus == NERR_Success)
      fwprintf(stderr, L"Workstation information reset: session time-out = %d\n", _wtoi(argv[argc-1]));
   else
      fprintf(stderr, "A system error has occurred (NetWkstaSetInfo): %d\n", nStatus);

   return 0;
}

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 lmwksta.h(Lm.h 포함)
라이브러리 Netapi32.lib
DLL Netapi32.dll

추가 정보

NetWkstaGetInfo

NetWkstaUserGetInfo

NetWkstaUserSetInfo

네트워크 관리 함수

네트워크 관리 개요

워크스테이션 및 워크스테이션 사용자 함수