Share via


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
記憶體不足。

備註

只有 Administrators 或 Server Operators 本機群組的成員才能成功執行 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,並將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 專業版 [僅限傳統型應用程式]
最低支援的伺服器 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

伺服器函式