Funzione NetWkstaSetInfo (lmwksta.h)
La funzione NetWkstaSetInfo configura una workstation con informazioni che rimangono attive dopo la reinizializzazione del sistema.
Sintassi
NET_API_STATUS NET_API_FUNCTION NetWkstaSetInfo(
[in] LMSTR servername,
[in] DWORD level,
[in] LPBYTE buffer,
[out] LPDWORD parm_err
);
Parametri
[in] servername
Puntatore a una stringa che specifica il nome DNS o NetBIOS del server remoto in cui deve essere eseguita la funzione. Se questo parametro è NULL, viene utilizzato il computer locale.
[in] level
Livello informativo dei dati. Questo parametro può avere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Windows NT: Specifica informazioni su un ambiente workstation, incluse le informazioni specifiche della piattaforma, i nomi del dominio e il computer locale e le informazioni relative al sistema operativo. Il parametro buffer punta a una struttura WKSTA_INFO_100 . I campi wk100_computername e wk100_langroup di questa struttura non possono essere impostati chiamando questa funzione. Per impostare questi valori, chiamare rispettivamente SetComputerName/SetComputerNameEx o NetJoinDomain. |
|
Windows NT: Oltre alle informazioni di livello 100, specifica il percorso della directory LANMAN. Il parametro buffer punta a una struttura WKSTA_INFO_101 . I campi wk101_computername e wk101_langroup di questa struttura non possono essere impostati chiamando questa funzione. Per impostare questi valori, chiamare rispettivamente SetComputerName/SetComputerNameEx o NetJoinDomain. |
|
Windows NT: Oltre alle informazioni di livello 101, specifica il numero di utenti connessi al computer locale. Il parametro buffer punta a una struttura WKSTA_INFO_102 . I campi wk102_computername e wk102_langroup di questa struttura non possono essere impostati chiamando questa funzione. Per impostare questi valori, chiamare rispettivamente SetComputerName/SetComputerNameEx o NetJoinDomain. |
|
Windows NT: Il parametro buffer punta a una struttura WKSTA_INFO_502 che contiene informazioni sull'ambiente workstation. |
Non impostare i livelli 1010-1013, 1018, 1023, 1027, 1028, 1032, 1033, 1035 o 1041-1062.
[in] buffer
Puntatore al buffer che specifica i dati. Il formato di questi dati dipende dal valore del parametro level . Per altre informazioni, vedere Buffer delle funzioni di gestione di rete.
[out] parm_err
Puntatore a un valore che riceve l'indice del primo membro della struttura delle informazioni della workstation che causa l'errore di ERROR_INVALID_PARAMETER. Se questo parametro è NULL, l'indice non viene restituito in caso di errore. Per altre informazioni, vedere la sezione Osservazioni.
Valore restituito
Se la funzione ha esito positivo, il valore restituito viene NERR_Success.
Se la funzione ha esito negativo, il valore restituito può essere uno dei codici di errore seguenti.
Codice restituito | Descrizione |
---|---|
|
L'utente non ha accesso alle informazioni richieste. |
|
Uno dei parametri della funzione non è valido. Per ulteriori informazioni, vedere la sezione Osservazioni successiva. |
Commenti
Solo i membri del gruppo Administrators possono eseguire correttamente la funzione NetWkstaSetInfo in un server remoto.
La funzione NetWkstaSetInfo chiama il servizio workstation nel sistema locale o in un sistema remoto. Solo un numero limitato di membri della struttura WKSTA_INFO_502 può essere effettivamente modificato usando la funzione NetWkstaSetInfo . Non vengono restituiti errori se un membro è impostato che viene ignorato dal servizio workstation. Il servizio workstation viene configurato principalmente usando le impostazioni nel Registro di sistema.
La funzione NetWkstaUserSetInfo può essere usata anziché la funzione NetWkstaSetInfo per impostare le informazioni di configurazione nel sistema locale. La funzione NetWkstaUserSetInfo chiama l'Autorità di sicurezza locale (LSA).
Se la funzione NetWkstaSetInfo restituisce ERROR_INVALID_PARAMETER, è possibile usare il parametro parm_err per indicare il primo membro della struttura delle informazioni della workstation non valida. Una struttura di informazioni sulla workstation inizia con WKSTA_INFO_ e il relativo formato viene specificato dal parametro level . Nella tabella seguente sono elencati i valori che è possibile restituire nel parametro parm_err e nel membro della struttura corrispondente in errore. Il prefisso wki*_ indica che il membro può iniziare con più prefissi, ad esempio wki100_ o wki402_.
Valore | Membro |
---|---|
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 |
Le impostazioni dei parametri del servizio workstation vengono archiviate nel Registro di sistema, non nel file LanMan.ini usato in precedenza da LAN Manager. La funzione NetWkstaSetInfo non modifica i valori nel file LanMan.ini. Quando il servizio workstation viene arrestato e riavviato, i parametri della workstation vengono reimpostati sui valori predefiniti specificati nel Registro di sistema , a meno che non vengano sovrascritti dai parametri della riga di comando. I valori impostati dalle chiamate precedenti a NetWkstaSetInfo possono essere sovrascritti quando vengono reimpostati i parametri della workstation.
Esempio
Nell'esempio di codice seguente viene illustrato come impostare il valore di timeout della sessione associato a una workstation usando una chiamata alla funzione NetServerSetInfo . Il timeout della sessione è il numero di secondi di attesa del server prima di disconnettere una sessione inattiva. Il codice specifica il livello di informazioni 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;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | lmwksta.h (include Lm.h) |
Libreria | Netapi32.lib |
DLL | Netapi32.dll |