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 參數指定的值無效。 |
|
指定的參數無效。 如需詳細資訊,請參閱接下來的<備註>一節。 |
|
記憶體不足。 |
備註
只有 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 |