Partager via


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.

  1. Une commande de sortie est émise pour toutes les applications utilisateur actives.
  2. Si l’application ne se termine pas dans un intervalle spécifique, l’application est arrêtée.
  3. Une fois toutes les applications d’un utilisateur terminées, l’utilisateur est déconnecté.
  4. Une fois que tous les utilisateurs sont déconnectés, une commande de sortie est émise pour tous les services système.
  5. Si le service système ne se termine pas dans un intervalle spécifique, le service est arrêté.
  6. Le cache du système de fichiers est écrit sur le disque.
  7. Les disques sont marqués en lecture seule.
  8. 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.)
Note Étant donné qu’il peut y avoir de nombreux utilisateurs et processus dans une configuration multi-utilisateur volumineuse, les configurations système volumineuses peuvent prendre un certain temps pour s’arrêter de manière ordonnée. Il est important de permettre au système de s’arrêter complètement.
 
Windows Server 2008 et Windows Vista : Un appel à WTSShutdownSystem ne fonctionne pas lorsque le Gestionnaire des connexions distant (RCM) est désactivé. C’est le cas lorsque le service Services Bureau à distance est arrêté.

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

Voir aussi

ExitWindowsEx