Compartilhar via


Função NetServerSetInfo (lmserver.h)

A função NetServerSetInfo define os parâmetros operacionais de um servidor; ele pode defini-los individual ou coletivamente. As informações são armazenadas de uma maneira que permite que elas permaneçam em vigor após a reinicialização do sistema.

Sintaxe

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

Parâmetros

[in] servername

Ponteiro para uma cadeia de caracteres que especifica o nome do servidor remoto no qual a função deve ser executada. Se esse parâmetro for NULL, o computador local será usado.

[in] level

Especifica o nível de informações dos dados. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
101
Especifica o nome do servidor, o tipo e o software associado. O parâmetro buf aponta para uma estrutura de SERVER_INFO_101 .
102
Especifica o nome do servidor, o tipo, o software associado e outros atributos. O parâmetro buf aponta para uma estrutura de SERVER_INFO_102 .
402
Especifica informações detalhadas sobre o servidor. O parâmetro buf aponta para uma estrutura de SERVER_INFO_402 .
403
Especifica informações detalhadas sobre o servidor. O parâmetro buf aponta para uma estrutura de SERVER_INFO_403 .
 

Além disso, os níveis 1001-1006, 1009-1011, 1016-1018, 1021, 1022, 1028, 1029, 1037 e 1043 são válidos com base nas restrições para sistemas lan manager.

[in] buf

Ponteiro para um buffer que recebe as informações do servidor. O formato desses dados depende do valor do parâmetro de nível . Para obter mais informações, consulte Buffers de função de gerenciamento de rede.

[out] ParmError

Ponteiro para um valor que recebe o índice do primeiro membro da estrutura de informações do servidor que causa o erro ERROR_INVALID_PARAMETER. Se esse parâmetro for NULL, o índice não será retornado por erro. Para obter mais informações, consulte a seção Comentários a seguir.

Valor retornado

Se a função for bem-sucedida, o valor retornado será NERR_Success.

Se a função falhar, o valor retornado poderá ser um dos seguintes códigos de erro.

Código de retorno Descrição
ERROR_ACCESS_DENIED
O usuário não tem acesso às informações solicitadas.
ERROR_INVALID_LEVEL
O valor especificado para o parâmetro de nível é inválido.
ERROR_INVALID_PARAMETER
O parâmetro especificado é inválido. Para obter mais informações, consulte a seção Comentários a seguir.
ERROR_NOT_ENOUGH_MEMORY
Memória insuficiente disponível.

Comentários

Somente membros do grupo local Administradores ou Operadores de Servidor podem executar com êxito a função NetServerSetInfo .

Se você estiver programando para o Active Directory, poderá chamar determinados métodos ADSI (Active Directory Service Interface) para obter a mesma funcionalidade que você pode obter chamando as funções do servidor de gerenciamento de rede. Para obter mais informações, consulte IADsComputer.

Se a função NetServerSetInfo retornar ERROR_INVALID_PARAMETER, você poderá usar o parâmetro ParmError para indicar o primeiro membro da estrutura de informações do servidor inválido. (Uma estrutura de informações do servidor começa com SERVER_INFO_ e seu formato é especificado pelo parâmetro de nível .) A tabela a seguir lista os valores que podem ser retornados no parâmetro ParmError e no membro de estrutura correspondente que está em erro. (O prefixo sv*_ indica que o membro pode começar com vários prefixos, por exemplo, sv101_ ou sv402_.)

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

Exemplos

O exemplo de código a seguir demonstra como chamar a função NetServerSetInfo . O exemplo chama NetServerSetInfo, especificando o parâmetro level como 1005 (obrigatório) para definir o membro sv1005_comment da estrutura 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 com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho lmserver.h (inclua Lm.h)
Biblioteca Netapi32.lib
DLL Netapi32.dll

Confira também

NetServerGetInfo

Funções de gerenciamento de rede

Visão geral do gerenciamento de rede

SERVER_INFO_101

SERVER_INFO_102

SERVER_INFO_402

SERVER_INFO_403

Funções de servidor