NetServerSetInfo-Funktion (lmserver.h)

Die NetServerSetInfo-Funktion legt die Betriebsparameter eines Servers fest. sie kann sie einzeln oder gemeinsam festlegen. Die Informationen werden so gespeichert, dass sie nach der erneuten Initialisierung des Systems wirksam bleiben können.

Syntax

NET_API_STATUS NET_API_FUNCTION NetServerSetInfo(
  [in]  LMSTR   servername,
  [in]  DWORD   level,
  [in]  LPBYTE  buf,
  [out] LPDWORD ParmError
);

Parameter

[in] servername

Zeiger auf eine Zeichenfolge, die den Namen des Remoteservers angibt, auf dem die Funktion ausgeführt werden soll. Wenn dieser Parameter NULL ist, wird der lokale Computer verwendet.

[in] level

Gibt die Informationsebene der Daten an. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
101
Gibt den Servernamen, den Typ und die zugehörige Software an. Der buf-Parameter verweist auf eine SERVER_INFO_101-Struktur .
102
Gibt den Servernamen, den Typ, die zugeordnete Software und andere Attribute an. Der buf-Parameter verweist auf eine SERVER_INFO_102-Struktur .
402
Gibt detaillierte Informationen zum Server an. Der buf-Parameter verweist auf eine SERVER_INFO_402-Struktur .
403
Gibt detaillierte Informationen zum Server an. Der buf-Parameter verweist auf eine SERVER_INFO_403-Struktur .
 

Darüber hinaus gelten die Stufen 1001-1006, 1009-1011, 1016-1018, 1021, 1022, 1028, 1029, 1037 und 1043 basierend auf den Einschränkungen für LAN Manager-Systeme.

[in] buf

Zeiger auf einen Puffer, der die Serverinformationen empfängt. Das Format dieser Daten hängt vom Wert des Ebenenparameters ab. Weitere Informationen finden Sie unter Netzwerkverwaltungsfunktionspuffer.

[out] ParmError

Zeiger auf einen Wert, der den Index des ersten Members der Serverinformationsstruktur empfängt, der den ERROR_INVALID_PARAMETER Fehler verursacht. Wenn dieser Parameter NULL ist, wird der Index nicht bei einem Fehler zurückgegeben. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NERR_Success.

Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden Fehlercodes sein.

Rückgabecode Beschreibung
ERROR_ACCESS_DENIED
Der Benutzer besitzt keinen Zugriff auf die angeforderten Informationen.
ERROR_INVALID_LEVEL
Der für den Level-Parameter angegebene Wert ist ungültig.
ERROR_INVALID_PARAMETER
Der angegebene Parameter ist ungültig. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
ERROR_NOT_ENOUGH_MEMORY
Es ist nicht genügend Arbeitsspeicher verfügbar.

Hinweise

Nur Mitglieder der lokalen Gruppe Administratoren oder Serveroperatoren können die NetServerSetInfo-Funktion erfolgreich ausführen.

Wenn Sie für Active Directory programmieren, können Sie möglicherweise bestimmte ADSI-Methoden (Active Directory Service Interface) aufrufen, um dieselbe Funktionalität zu erzielen, die Sie durch aufrufen der Netzwerkverwaltungsserverfunktionen erreichen können. Weitere Informationen finden Sie unter IADsComputer.

Wenn die NetServerSetInfo-Funktion ERROR_INVALID_PARAMETER zurückgibt, können Sie den ParmError-Parameter verwenden, um das erste element der Serverinformationsstruktur anzugeben, das ungültig ist. (Eine Serverinformationsstruktur beginnt mit SERVER_INFO_, und ihr Format wird durch den Levelparameter angegeben.) In der folgenden Tabelle sind die Werte aufgeführt, die im ParmError-Parameter zurückgegeben werden können, und dem entsprechenden Strukturmember, der fehlerhaft ist. (Das Präfix sv*_ gibt an, dass das Element mit mehreren Präfixen beginnen kann, z. B. sv101_ oder sv402_.)

Wert Member
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
 

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die NetServerSetInfo-Funktion aufgerufen wird. Im Beispiel wird NetServerSetInfo aufgerufen, wobei der level-Parameter als 1005 (erforderlich) angegeben wird, um den sv1005_comment-Member der SERVER_INFO_1005-Struktur festzulegen.

#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;
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile lmserver.h (lm.h einschließen)
Bibliothek Netapi32.lib
DLL Netapi32.dll

Weitere Informationen

NetServerGetInfo

Netzwerkverwaltungsfunktionen

Übersicht über die Netzwerkverwaltung

SERVER_INFO_101

SERVER_INFO_102

SERVER_INFO_402

SERVER_INFO_403

Serverfunktionen