Función NetServerSetInfo (lmserver.h)

La función NetServerSetInfo establece los parámetros operativos de un servidor; puede establecerlos de forma individual o colectiva. La información se almacena de forma que le permita permanecer en vigor una vez reinicializado el sistema.

Sintaxis

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

Parámetros

[in] servername

Puntero a una cadena que especifica el nombre 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

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

Valor Significado
101
Especifica el nombre del servidor, el tipo y el software asociado. El parámetro buf apunta a una estructura SERVER_INFO_101 .
102
Especifica el nombre del servidor, el tipo, el software asociado y otros atributos. El parámetro buf apunta a una estructura SERVER_INFO_102 .
402
Especifica información detallada sobre el servidor. El parámetro buf apunta a una estructura SERVER_INFO_402 .
403
Especifica información detallada sobre el servidor. El parámetro buf apunta a una estructura SERVER_INFO_403 .
 

Además, los niveles 1001-1006, 1009-1011, 1016-1018, 1021, 1022, 1028, 1029, 1037 y 1043 son válidos en función de las restricciones de los sistemas LAN Manager.

[in] buf

Puntero a un búfer que recibe la información del servidor. 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 redes.

[out] ParmError

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

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto se 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_LEVEL
El valor especificado para el parámetro level no es válido.
ERROR_INVALID_PARAMETER
El parámetro especificado no es válido. Para obtener más información, vea la sección Comentarios que se muestra más adelante.
ERROR_NOT_ENOUGH_MEMORY
Memoria insuficiente disponible.

Comentarios

Solo los miembros del grupo local Administradores o Operadores de servidor pueden ejecutar correctamente la función NetServerSetInfo .

Si está programando para Active Directory, puede llamar a determinados métodos de interfaz de servicio de Active Directory (ADSI) para lograr la misma funcionalidad que puede lograr llamando a las funciones del servidor de administración de red. Para obtener más información, consulte IADsComputer.

Si la función NetServerSetInfo devuelve ERROR_INVALID_PARAMETER, puede usar el parámetro ParmError para indicar el primer miembro de la estructura de información del servidor que no es válida. (Una estructura de información del servidor comienza con SERVER_INFO_ y el parámetro level especifica su formato). En la tabla siguiente se enumeran los valores que se pueden devolver en el parámetro ParmError y el miembro de estructura correspondiente que se encuentra en error. (El prefijo sv*_ indica que el miembro puede comenzar con varios prefijos, por ejemplo, sv101_ o sv402_).

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

Ejemplos

En el ejemplo de código siguiente se muestra cómo llamar a la función NetServerSetInfo . El ejemplo llama a NetServerSetInfo, especificando el parámetro level como 1005 (obligatorio) para establecer el miembro sv1005_comment de la estructura SERVER_INFO_1005 .

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

Requisitos

   
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 lmserver.h (include Lm.h)
Library Netapi32.lib
Archivo DLL Netapi32.dll

Consulte también

NetServerGetInfo

Funciones de administración de redes

Introducción a la administración de redes

SERVER_INFO_101

SERVER_INFO_102

SERVER_INFO_402

SERVER_INFO_403

Funciones de servidor