Freigeben über


NetWkstaSetInfo-Funktion (lmwksta.h)

Die NetWkstaSetInfo-Funktion konfiguriert eine Arbeitsstation mit Informationen, die nach der erneuten Initialisierung des Systems wirksam bleiben.

Syntax

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

Parameter

[in] servername

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

[in] level

Die Informationsebene der Daten. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
100
Windows NT: Gibt Informationen zu einer Arbeitsstationsumgebung an, einschließlich plattformspezifischer Informationen, der Namen der Domäne und des lokalen Computers sowie Informationen zum Betriebssystem. Der Pufferparameter zeigt auf eine WKSTA_INFO_100 Struktur. Die felder wk100_computername und wk100_langroup dieser Struktur können nicht durch Aufrufen dieser Funktion festgelegt werden. Um diese Werte festzulegen, rufen Sie SetComputerName/SetComputerNameEx bzw . NetJoinDomain auf.
101
Windows NT: Gibt zusätzlich zu den Informationen der Ebene 100 den Pfad zum VERZEICHNIS LANMAN an. Der Pufferparameter verweist auf eine WKSTA_INFO_101-Struktur . Die felder wk101_computername und wk101_langroup dieser Struktur können nicht durch Aufrufen dieser Funktion festgelegt werden. Um diese Werte festzulegen, rufen Sie SetComputerName/SetComputerNameEx bzw . NetJoinDomain auf.
102
Windows NT: Gibt zusätzlich zu den Informationen der Ebene 101 die Anzahl der Benutzer an, die am lokalen Computer angemeldet sind. Der Pufferparameter verweist auf eine WKSTA_INFO_102-Struktur . Die felder wk102_computername und wk102_langroup dieser Struktur können nicht durch Aufrufen dieser Funktion festgelegt werden. Um diese Werte festzulegen, rufen Sie SetComputerName/SetComputerNameEx bzw . NetJoinDomain auf.
502
Windows NT: Der Pufferparameter verweist auf eine WKSTA_INFO_502 Struktur, die Informationen zur Arbeitsstationsumgebung enthält.
 

Legen Sie die Ebenen 1010-1013, 1018, 1023, 1027, 1028, 1032, 1033, 1035 oder 1041-1062 nicht fest.

[in] buffer

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

[out] parm_err

Ein Zeiger auf einen Wert, der den Index des ersten Members der Arbeitsstationsinformationsstruktur 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 Abschnitt mit Hinweisen.

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_PARAMETER
Einer der Funktionsparameter ist ungültig. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

Hinweise

Nur Mitglieder der Gruppe Administratoren können die NetWkstaSetInfo-Funktion erfolgreich auf einem Remoteserver ausführen.

Die NetWkstaSetInfo-Funktion ruft den Arbeitsstationsdienst auf dem lokalen System oder einem Remotesystem auf. Nur eine begrenzte Anzahl von Membern der WKSTA_INFO_502-Struktur kann mithilfe der NetWkstaSetInfo-Funktion tatsächlich geändert werden. Es werden keine Fehler zurückgegeben, wenn ein Element festgelegt ist, das vom Arbeitsstationsdienst ignoriert wird. Der Arbeitsstationsdienst wird in erster Linie mithilfe von Einstellungen in der Registrierung konfiguriert.

Die NetWkstaUserSetInfo-Funktion kann anstelle der NetWkstaSetInfo-Funktion verwendet werden, um Konfigurationsinformationen auf dem lokalen System festzulegen. Die NetWkstaUserSetInfo-Funktion ruft die Lokale Sicherheitsbehörde (Local Security Authority, LSA) auf.

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

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

Die Einstellungen für den Arbeitsstationsdienst werden in der Registrierung gespeichert, nicht in der LanMan.ini-Datei, die zuvor vom LAN-Manager verwendet wurde. Die NetWkstaSetInfo-Funktion ändert die Werte in der LanMan.ini-Datei nicht. Wenn der Arbeitsstationsdienst beendet und neu gestartet wird, werden arbeitsstationsparameter auf die in der Registrierung angegebenen Standardwerte zurückgesetzt (es sei denn, sie werden von Befehlszeilenparametern überschrieben). Werte, die durch vorherige Aufrufe von NetWkstaSetInfo festgelegt wurden, können beim Zurücksetzen von Arbeitsstationsparametern überschrieben werden.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie der Sitzungstimeoutwert einer Arbeitsstation mithilfe eines Aufrufs der NetServerSetInfo-Funktion festgelegt wird. (Das Sitzungstimeout ist die Anzahl der Sekunden, die der Server wartet, bevor eine inaktive Sitzung getrennt wird.) Der Code gibt die Informationsebene 502 (WKSTA_INFO_502) an.

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

Anforderungen

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

Weitere Informationen

NetWkstaGetInfo

NetWkstaUserGetInfo

NetWkstaUserSetInfo

Netzwerkverwaltungsfunktionen

Übersicht über die Netzwerkverwaltung

Benutzerfunktionen für Arbeitsstationen und Arbeitsstationen