Share via


Función NetWkstaSetInfo (lmwksta.h)

La función NetWkstaSetInfo configura una estación de trabajo con información que permanece en vigor después de reinicializar el sistema.

Sintaxis

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

Parámetros

[in] servername

Puntero a una cadena que especifica el nombre DNS o NetBIOS del servidor remoto en el que se va a ejecutar la función. Si este parámetro es NULL, se usa el equipo local.

[in] level

Nivel de información de los datos. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
100
Windows NT: Especifica información sobre un entorno de estación de trabajo, incluida la información específica de la plataforma, los nombres del dominio y el equipo local, e información relativa al sistema operativo. El parámetro de búfer apunta a una estructura WKSTA_INFO_100 . Los campos wk100_computername y wk100_langroup de esta estructura no se pueden establecer mediante una llamada a esta función. Para establecer estos valores, llame a SetComputerName/SetComputerNameEx o NetJoinDomain, respectivamente.
101
Windows NT: Además de la información de nivel 100, especifica la ruta de acceso al directorio LANMAN. El parámetro de búfer apunta a una estructura de WKSTA_INFO_101 . Los campos wk101_computername y wk101_langroup de esta estructura no se pueden establecer mediante una llamada a esta función. Para establecer estos valores, llame a SetComputerName/SetComputerNameEx o NetJoinDomain, respectivamente.
102
Windows NT: Además de la información de nivel 101, especifica el número de usuarios que han iniciado sesión en el equipo local. El parámetro de búfer apunta a una estructura de WKSTA_INFO_102 . Los campos wk102_computername y wk102_langroup de esta estructura no se pueden establecer mediante una llamada a esta función. Para establecer estos valores, llame a SetComputerName/SetComputerNameEx o NetJoinDomain, respectivamente.
502
Windows NT: El parámetro de búfer apunta a una estructura de WKSTA_INFO_502 que contiene información sobre el entorno de estación de trabajo.
 

No establezca los niveles 1010-1013, 1018, 1023, 1027, 1028, 1032, 1033, 1035 o 1041-1062.

[in] buffer

Puntero al búfer que especifica los datos. El formato de estos datos depende del valor del parámetro level . Para obtener más información, consulte Búferes de funciones de administración de red.

[out] parm_err

Puntero a un valor que recibe el índice del primer miembro de la estructura de información de la estación de trabajo que provoca el error ERROR_INVALID_PARAMETER. Si este parámetro es NULL, el índice no se devuelve en caso de error. Para obtener más información, vea la sección Comentarios.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es NERR_Success.

Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes códigos de error.

Código devuelto Descripción
ERROR_ACCESS_DENIED
El usuario no tiene acceso a la información pedida.
ERROR_INVALID_PARAMETER
Uno de los parámetros de función no es válido. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

Comentarios

Solo los miembros del grupo Administradores pueden ejecutar correctamente la función NetWkstaSetInfo en un servidor remoto.

La función NetWkstaSetInfo llama al servicio de estación de trabajo en el sistema local o en un sistema remoto. Solo se puede cambiar un número limitado de miembros de la estructura WKSTA_INFO_502 mediante la función NetWkstaSetInfo . No se devuelve ningún error si el servicio de estación de trabajo omite un miembro. El servicio de estación de trabajo se configura principalmente mediante la configuración del Registro.

La función NetWkstaUserSetInfo se puede usar en lugar de la función NetWkstaSetInfo para establecer información de configuración en el sistema local. La función NetWkstaUserSetInfo llama a la autoridad de seguridad local (LSA).

Si la función NetWkstaSetInfo devuelve ERROR_INVALID_PARAMETER, puede usar el parámetro parm_err para indicar el primer miembro de la estructura de información de la estación de trabajo que no es válida. (Una estructura de información de estación de trabajo comienza por WKSTA_INFO_ y su formato se especifica mediante el parámetro level ). En la tabla siguiente se enumeran los valores que se pueden devolver en el parámetro parm_err y el miembro de estructura correspondiente que se encuentra en error. (El prefijo wki*_ indica que el miembro puede comenzar con varios prefijos, por ejemplo, wki100_ o wki402_).

Valor Miembro
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
 

La configuración del parámetro de servicio de estación de trabajo se almacena en el Registro, no en el archivo LanMan.ini usado anteriormente por EL ADMINISTRADOR DE LAN. La función NetWkstaSetInfo no cambia los valores del archivo LanMan.ini. Cuando se detiene y reinicia el servicio de estación de trabajo, los parámetros de estación de trabajo se restablecen a los valores predeterminados especificados en el Registro (a menos que se sobrescriban mediante parámetros de línea de comandos). Los valores establecidos por llamadas anteriores a NetWkstaSetInfo se pueden sobrescribir cuando se restablecen los parámetros de la estación de trabajo.

Ejemplos

En el ejemplo de código siguiente se muestra cómo establecer el valor de tiempo de espera de sesión asociado a una estación de trabajo mediante una llamada a la función NetServerSetInfo . (El tiempo de espera de la sesión es el número de segundos que el servidor espera antes de desconectar una sesión inactiva). El código especifica el nivel de información 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;
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado lmwksta.h (include Lm.h)
Library Netapi32.lib
Archivo DLL Netapi32.dll

Consulte también

NetWkstaGetInfo

NetWkstaUserGetInfo

NetWkstaUserSetInfo

Funciones de administración de redes

Introducción a la administración de redes

Funciones de usuario de estación de trabajo y estación de trabajo