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 |
---|---|
|
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. |
|
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. |
|
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. |
|
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 |
---|---|
|
El usuario no tiene acceso a la información pedida. |
|
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
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