NetWkstaSetInfo, fonction (lmwksta.h)
La fonction NetWkstaSetInfo configure une station de travail avec des informations qui restent en vigueur une fois que le système a été réinitialisé.
Syntaxe
NET_API_STATUS NET_API_FUNCTION NetWkstaSetInfo(
[in] LMSTR servername,
[in] DWORD level,
[in] LPBYTE buffer,
[out] LPDWORD parm_err
);
Paramètres
[in] servername
Pointeur vers une chaîne qui spécifie le nom DNS ou NetBIOS 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
Niveau d’informations des données. Ce paramètre peut prendre les valeurs suivantes.
Valeur | Signification |
---|---|
|
Windows NT : Spécifie des informations sur un environnement de station de travail, notamment des informations spécifiques à la plateforme, les noms du domaine et de l’ordinateur local, ainsi que des informations relatives au système d’exploitation. Le paramètre de mémoire tampon pointe vers une structure WKSTA_INFO_100 . Les champs wk100_computername et wk100_langroup de cette structure ne peuvent pas être définis en appelant cette fonction. Pour définir ces valeurs, appelez Respectivement SetComputerName/SetComputerNameEx ou NetJoinDomain. |
|
Windows NT : En plus des informations de niveau 100, spécifie le chemin d’accès au répertoire LANMAN. Le paramètre de mémoire tampon pointe vers une structure WKSTA_INFO_101 . Les champs wk101_computername et wk101_langroup de cette structure ne peuvent pas être définis en appelant cette fonction. Pour définir ces valeurs, appelez Respectivement SetComputerName/SetComputerNameEx ou NetJoinDomain. |
|
Windows NT : En plus des informations de niveau 101, spécifie le nombre d’utilisateurs connectés à l’ordinateur local. Le paramètre de mémoire tampon pointe vers une structure WKSTA_INFO_102 . Les champs wk102_computername et wk102_langroup de cette structure ne peuvent pas être définis en appelant cette fonction. Pour définir ces valeurs, appelez Respectivement SetComputerName/SetComputerNameEx ou NetJoinDomain. |
|
Windows NT : Le paramètre de mémoire tampon pointe vers une structure WKSTA_INFO_502 qui contient des informations sur l’environnement de station de travail. |
Ne définissez pas les niveaux 1010-1013, 1018, 1023, 1027, 1028, 1032, 1033, 1035 ou 1041-1062.
[in] buffer
Pointeur vers la mémoire tampon qui spécifie les données. 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] parm_err
Pointeur vers une valeur qui reçoit l’index du premier membre de la structure d’informations de station de travail 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.
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. |
|
L’un des paramètres de fonction n’est pas valide. Pour plus d'informations, consultez la section Notes qui suit. |
Remarques
Seuls les membres du groupe Administrateurs peuvent exécuter correctement la fonction NetWkstaSetInfo sur un serveur distant.
La fonction NetWkstaSetInfo appelle le service de station de travail sur le système local ou un système distant. Seuls un nombre limité de membres de la structure WKSTA_INFO_502 peuvent réellement être modifiés à l’aide de la fonction NetWkstaSetInfo . Aucune erreur n’est retournée si un membre est défini qui est ignoré par le service de station de travail. Le service de station de travail est principalement configuré à l’aide des paramètres du Registre.
La fonction NetWkstaUserSetInfo peut être utilisée à la place de la fonction NetWkstaSetInfo pour définir les informations de configuration sur le système local. La fonction NetWkstaUserSetInfo appelle l’autorité de sécurité locale (LSA).
Si la fonction NetWkstaSetInfo retourne ERROR_INVALID_PARAMETER, vous pouvez utiliser le paramètre parm_err pour indiquer le premier membre de la structure d’informations de station de travail qui n’est pas valide. (Une structure d’informations de station de travail commence par WKSTA_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 parm_err et le membre de structure correspondant qui est en erreur. (Le préfixe wki*_ indique que le membre peut commencer par plusieurs préfixes, par exemple, wki100_ ou wki402_.)
Valeur | Membre |
---|---|
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 |
Les paramètres du service de station de travail sont stockés dans le Registre, et non dans le fichier LanMan.ini utilisé précédemment par LE Gestionnaire de réseau local. La fonction NetWkstaSetInfo ne modifie pas les valeurs du fichier LanMan.ini. Lorsque le service de station de travail est arrêté et redémarré, les paramètres de station de travail sont réinitialisés aux valeurs par défaut spécifiées dans le Registre (sauf s’ils sont remplacés par des paramètres de ligne de commande). Les valeurs définies par les appels précédents à NetWkstaSetInfo peuvent être remplacées lorsque les paramètres de la station de travail sont réinitialisés.
Exemples
L’exemple de code suivant montre comment définir la valeur de délai d’attente de session associée à une station de travail à l’aide d’un appel à la fonction NetServerSetInfo . (Le délai d’attente de session est le nombre de secondes que le serveur attend avant de déconnecter une session inactive.) Le code spécifie le niveau d’informations 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;
}
Configuration requise
Condition requise | Valeur |
---|---|
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 | lmwksta.h (include Lm.h) |
Bibliothèque | Netapi32.lib |
DLL | Netapi32.dll |
Voir aussi
Vue d’ensemble de la gestion du réseau
Fonctions utilisateur de station de travail et de station de travail