Funzione WTSShutdownSystem (wtsapi32.h)
Arresta (e facoltativamente riavvia) il server Host sessione Desktop remoto (Host sessione Desktop remoto) specificato.
Per arrestare o riavviare il sistema, il processo chiamante deve avere il privilegio SE_SHUTDOWN_NAME abilitato. Per altre informazioni sui privilegi di sicurezza, vedere Privilegi e costanti di autorizzazione.
Sintassi
BOOL WTSShutdownSystem(
[in] HANDLE hServer,
[in] DWORD ShutdownFlag
);
Parametri
[in] hServer
Gestire un server host sessione Desktop remoto. Specificare un handle aperto dalla funzione WTSOpenServer oppure specificare WTS_CURRENT_SERVER_HANDLE per indicare il server Host sessione Desktop remoto in cui è in esecuzione l'applicazione.
[in] ShutdownFlag
Indica il tipo di arresto. Questo parametro può avere uno dei valori seguenti.
WTS_WSD_LOGOFF
Forza tutte le sessioni client a disconnettersi (ad eccezione della sessione che chiama WTSShutdownSystem) e disabilita eventuali accessi remoti successivi. Questa operazione può essere usata come passaggio prima di arrestare. Gli accessi verranno riabilitati quando viene riavviato il servizio Servizi Desktop remoto.
Usare questo valore solo nella console servizi Desktop remoto.
WTS_WSD_POWEROFF
Arresta il sistema nel server Host sessione Desktop remoto e, nei computer che supportano il controllo software dell'alimentazione ac, disattiva l'alimentazione. Equivale a chiamare ExitWindowsEx con EWX_SHUTDOWN e EWX_POWEROFF. Il processo di chiamata deve avere il privilegio SE_SHUTDOWN_NAME abilitato.
WTS_WSD_REBOOT
Arresta e quindi riavvia il sistema nel server Host sessione Desktop remoto. Equivale a chiamare ExitWindowsEx con EWX_REBOOT. Il processo di chiamata deve avere il privilegio SE_SHUTDOWN_NAME abilitato.
WTS_WSD_SHUTDOWN
Arresta il sistema nel server Host sessione Desktop remoto. Equivale a chiamare la funzione ExitWindowsEx con EWX_SHUTDOWN. Il processo di chiamata deve avere il privilegio SE_SHUTDOWN_NAME abilitato.
WTS_WSD_FASTREBOOT
Questo valore non è attualmente supportato.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Un arresto del sistema termina tutti gli utenti e i programmi attivi. I passaggi seguenti si verificano durante l'arresto.
- Un comando di uscita viene rilasciato a tutte le applicazioni utente attive.
- Se l'applicazione non viene chiusa entro un intervallo specifico, l'applicazione viene terminata.
- Dopo la chiusura di tutte le applicazioni per un utente, l'utente viene disconnesso.
- Dopo che tutti gli utenti vengono disconnessi, viene rilasciato un comando di uscita a tutti i servizi di sistema.
- Se il servizio di sistema non termina entro un intervallo specifico, il servizio viene terminato.
- La cache del file system viene scritta su disco.
- I dischi sono contrassegnati in sola lettura.
- Il server Host sessione Desktop remoto visualizza il messaggio "È ora sicuro disattivare il computer" oppure il sistema viene riavviato se viene specificato WTS_WSD_REBOOT . Il messaggio viene visualizzato nella console perché tutte le sessioni client sono state terminate.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | wtsapi32.h |
Libreria | Wtsapi32.lib |
DLL | Wtsapi32.dll |