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 |
---|---|
|
Spécifie le nom du serveur, le type et le logiciel associé. Le paramètre buf pointe vers une structure SERVER_INFO_101 . |
|
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 . |
|
Spécifie des informations détaillées sur le serveur. Le paramètre buf pointe vers une structure SERVER_INFO_402 . |
|
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 |
---|---|
|
L’utilisateur n’a pas accès aux informations demandées. |
|
La valeur spécifiée pour le paramètre de niveau n’est pas valide. |
|
Le paramètre spécifié n’est pas valide. Pour plus d'informations, consultez la section Notes qui suit. |
|
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 |