WTSShutdownSystem, fonction (wtsapi32.h)
Arrête (et redémarre éventuellement) le serveur hôte de session Bureau à distance (hôte de session Bureau à distance) spécifié.
Pour arrêter ou redémarrer le système, le processus appelant doit avoir le privilège SE_SHUTDOWN_NAME activé. Pour plus d’informations sur les privilèges de sécurité, consultez Privilèges et constantes d’autorisation.
Syntaxe
BOOL WTSShutdownSystem(
[in] HANDLE hServer,
[in] DWORD ShutdownFlag
);
Paramètres
[in] hServer
Gérez vers un serveur hôte de session Bureau à distance. Spécifiez un handle ouvert par la fonction WTSOpenServer ou spécifiez WTS_CURRENT_SERVER_HANDLE pour indiquer le serveur hôte de session Bureau à distance sur lequel votre application s’exécute.
[in] ShutdownFlag
Indique le type d’arrêt. Ce paramètre peut prendre les valeurs suivantes.
WTS_WSD_LOGOFF
Force toutes les sessions clientes à se déconnecter (à l’exception de la session appelant WTSShutdownSystem) et désactive toutes les connexions distantes ultérieures. Vous pouvez l’utiliser en tant qu’étape avant l’arrêt. Les ouvertures de session sont réactivées lorsque le service Services Bureau à distance est redémarré.
Utilisez cette valeur uniquement sur la console Services Bureau à distance.
WTS_WSD_POWEROFF
Arrête le système sur le serveur hôte de session Bureau à distance et, sur les ordinateurs qui prennent en charge le contrôle logiciel de l’alimentation secteur, désactive l’alimentation. Cela revient à appeler ExitWindowsEx avec EWX_SHUTDOWN et EWX_POWEROFF. Le privilège SE_SHUTDOWN_NAME doit être activé pour le processus appelant.
WTS_WSD_REBOOT
Arrête, puis redémarre le système sur le serveur hôte de session Bureau à distance. Cela revient à appeler ExitWindowsEx avec EWX_REBOOT. Le privilège SE_SHUTDOWN_NAME doit être activé pour le processus appelant.
WTS_WSD_SHUTDOWN
Arrête le système sur le serveur hôte de session Bureau à distance. Cela revient à appeler la fonction ExitWindowsEx avec EWX_SHUTDOWN. Le privilège SE_SHUTDOWN_NAME doit être activé pour le processus appelant.
WTS_WSD_FASTREBOOT
Cette valeur n’est pas prise en charge actuellement.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Un arrêt du système met fin à tous les utilisateurs et programmes actifs. Les étapes suivantes se produisent pendant l’arrêt.
- Une commande de sortie est émise pour toutes les applications utilisateur actives.
- Si l’application ne se termine pas dans un intervalle spécifique, l’application est arrêtée.
- Une fois toutes les applications d’un utilisateur terminées, l’utilisateur est déconnecté.
- Une fois que tous les utilisateurs sont déconnectés, une commande de sortie est émise pour tous les services système.
- Si le service système ne se termine pas dans un intervalle spécifique, le service est arrêté.
- Le cache du système de fichiers est écrit sur le disque.
- Les disques sont marqués en lecture seule.
- Le serveur hôte de session Bureau à distance affiche le message « Il est maintenant sûr d’éteindre votre ordinateur », ou le système est redémarré si WTS_WSD_REBOOT est spécifié. (Le message s’affiche sur la console, car toutes les sessions clientes ont été arrêtées.)
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | wtsapi32.h |
Bibliothèque | Wtsapi32.lib |
DLL | Wtsapi32.dll |