NetServerSetInfo, fonction (lmserver.h)

La fonction NetServerSetInfo définit les paramètres de fonctionnement d’un serveur ; il peut les définir individuellement ou collectivement. Les informations sont stockées d’une manière qui leur permet de rester en vigueur une fois que le système a été réinitialisé.

Syntaxe

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

Paramètres

[in] servername

Pointeur vers une chaîne qui spécifie le nom du serveur distant sur lequel la fonction doit s’exécuter. Si ce paramètre a la valeur NULL, l’ordinateur local est utilisé.

[in] level

Spécifie le niveau d’informations des données. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
101
Spécifie le nom du serveur, le type et le logiciel associé. Le paramètre buf pointe vers une structure SERVER_INFO_101 .
102
Spécifie le nom du serveur, le type, le logiciel associé et d’autres attributs. Le paramètre buf pointe vers une structure SERVER_INFO_102 .
402
Spécifie des informations détaillées sur le serveur. Le paramètre buf pointe vers une structure SERVER_INFO_402 .
403
Spécifie des informations détaillées sur le serveur. Le paramètre buf pointe vers une structure SERVER_INFO_403 .
 

En outre, les niveaux 1001-1006, 1009-1011, 1016-1018, 1021, 1022, 1028, 1029, 1037 et 1043 sont valides en fonction des restrictions pour les systèmes LAN Manager.

[in] buf

Pointeur vers une mémoire tampon qui reçoit les informations du serveur. Le format de ces données dépend de la valeur du paramètre de niveau . Pour plus d’informations, consultez Mémoires tampons de fonction de gestion réseau.

[out] ParmError

Pointeur vers une valeur qui reçoit l’index du premier membre de la structure d’informations du serveur qui provoque l’erreur ERROR_INVALID_PARAMETER. Si ce paramètre a la valeur NULL, l’index n’est pas retourné en cas d’erreur. Pour plus d'informations, consultez la section Notes qui suit.

Valeur retournée

Si la fonction réussit, la valeur de retour est NERR_Success.

Si la fonction échoue, la valeur de retour peut être l’un des codes d’erreur suivants.

Code de retour Description
ERROR_ACCESS_DENIED
L’utilisateur n’a pas accès aux informations demandées.
ERROR_INVALID_LEVEL
La valeur spécifiée pour le paramètre de niveau n’est pas valide.
ERROR_INVALID_PARAMETER
Le paramètre spécifié n’est pas valide. Pour plus d'informations, consultez la section Notes qui suit.
ERROR_NOT_ENOUGH_MEMORY
La mémoire disponible est insuffisante.

Notes

Seuls les membres du groupe local Administrateurs ou Opérateurs de serveur peuvent exécuter correctement la fonction NetServerSetInfo .

Si vous programmez pour Active Directory, vous pouvez peut-être appeler certaines méthodes ADSI (Active Directory Service Interface) pour obtenir les mêmes fonctionnalités que celles que vous pouvez obtenir en appelant les fonctions du serveur d’administration réseau. Pour plus d’informations, consultez IADsComputer.

Si la fonction NetServerSetInfo retourne ERROR_INVALID_PARAMETER, vous pouvez utiliser le paramètre ParmError pour indiquer le premier membre de la structure d’informations du serveur qui n’est pas valide. (Une structure d’informations de serveur commence par SERVER_INFO_ et son format est spécifié par le paramètre level .) Le tableau suivant répertorie les valeurs qui peuvent être retournées dans le paramètre ParmError et le membre de structure correspondant qui est en erreur. (Le préfixe sv*_ indique que le membre peut commencer par plusieurs préfixes, par exemple, sv101_ ou sv402_.)

Valeur Membre
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
 

Exemples

L’exemple de code suivant montre comment appeler la fonction NetServerSetInfo . L’exemple appelle NetServerSetInfo, en spécifiant le paramètre de niveau 1005 (obligatoire) pour définir le sv1005_comment membre de la structure 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;
}

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête lmserver.h (include Lm.h)
Bibliothèque Netapi32.lib
DLL Netapi32.dll

Voir aussi

NetServerGetInfo

Fonctions de gestion réseau

Vue d’ensemble de la gestion du réseau

SERVER_INFO_101

SERVER_INFO_102

SERVER_INFO_402

SERVER_INFO_403

Fonctions serveur