WTSShutdownSystem-Funktion (wtsapi32.h)

Fährt den angegebenen Remotedesktopsitzungshostserver (RD-Sitzungshost) herunter (und startet optional neu).

Um das System herunterzufahren oder neu zu starten, muss für den aufrufenden Prozess die berechtigung SE_SHUTDOWN_NAME aktiviert sein. Weitere Informationen zu Sicherheitsberechtigungen finden Sie unter Berechtigungen und Autorisierungskonstanten.

Syntax

BOOL WTSShutdownSystem(
  [in] HANDLE hServer,
  [in] DWORD  ShutdownFlag
);

Parameter

[in] hServer

Verarbeiten mit einem RD-Sitzungshostserver. Geben Sie ein Von der WTSOpenServer-Funktion geöffnetes Handle an, oder geben Sie WTS_CURRENT_SERVER_HANDLE an, um den RD-Sitzungshostserver anzugeben, auf dem Ihre Anwendung ausgeführt wird.

[in] ShutdownFlag

Gibt den Typ des Herunterfahrens an. Dieser Parameter kann einen der folgenden Werte annehmen.

WTS_WSD_LOGOFF

Erzwingt die Abmeldung aller Clientsitzungen (mit Ausnahme der Sitzung, die WTSShutdownSystem aufruft) und deaktiviert alle nachfolgenden Remoteanmeldungen. Dies kann als Schritt vor dem Herunterfahren verwendet werden. Anmeldungen werden erneut aktiviert, wenn der Remotedesktopdienstedienst neu gestartet wird.

Verwenden Sie diesen Wert nur in der Remotedesktopdienste-Konsole.

WTS_WSD_POWEROFF

Fährt das System auf dem RD-Sitzungshostserver herunter und schaltet auf Computern, die die Softwaresteuerung des Netzstroms unterstützen, die Stromversorgung aus. Dies entspricht dem Aufrufen von ExitWindowsEx mit EWX_SHUTDOWN und EWX_POWEROFF. Für den aufrufenden Prozess muss das SE_SHUTDOWN_NAME-Recht aktiviert sein.

WTS_WSD_REBOOT

Fährt das System herunter und startet dann das System auf dem RD-Sitzungshostserver neu. Dies entspricht dem Aufrufen von ExitWindowsEx mit EWX_REBOOT. Für den aufrufenden Prozess muss das SE_SHUTDOWN_NAME-Recht aktiviert sein.

WTS_WSD_SHUTDOWN

Fährt das System auf dem RD-Sitzungshostserver herunter. Dies entspricht dem Aufrufen der ExitWindowsEx-Funktion mit EWX_SHUTDOWN. Für den aufrufenden Prozess muss das SE_SHUTDOWN_NAME-Recht aktiviert sein.

WTS_WSD_FASTREBOOT

Dieser Wert wird derzeit nicht unterstützt.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Ein Herunterfahren des Systems beendet alle Benutzer und aktiven Programme. Die folgenden Schritte werden während des Herunterfahrens ausgeführt.

  1. Für alle aktiven Benutzeranwendungen wird ein Exit-Befehl ausgegeben.
  2. Wenn die Anwendung nicht innerhalb eines bestimmten Intervalls beendet wird, wird die Anwendung beendet.
  3. Nachdem alle Anwendungen für einen Benutzer beendet wurden, wird der Benutzer abgemeldet.
  4. Nachdem alle Benutzer abgemeldet wurden, wird ein Exit-Befehl für alle Systemdienste ausgegeben.
  5. Wenn der Systemdienst nicht innerhalb eines bestimmten Intervalls beendet wird, wird der Dienst beendet.
  6. Der Dateisystemcache wird auf den Datenträger geschrieben.
  7. Die Datenträger sind schreibgeschützt.
  8. Der RD-Sitzungshostserver zeigt die Meldung "Es ist jetzt sicher, Ihren Computer auszuschalten" an, oder das System wird neu gestartet, wenn WTS_WSD_REBOOT angegeben ist. (Die Meldung wird in der Konsole angezeigt, da alle Clientsitzungen beendet wurden.)
Hinweis Da in einer großen Konfiguration mit mehreren Benutzern viele Benutzer und Prozesse vorhanden sein können, kann es einige Zeit dauern, bis große Systemkonfigurationen ordnungsgemäß heruntergefahren werden. Es ist wichtig, dass das System vollständig heruntergefahren wird.
 
Windows Server 2008 und Windows Vista: Ein Aufruf von WTSShutdownSystem funktioniert nicht, wenn Remote Verbindungs-Manager (RCM) deaktiviert ist. Dies ist der Fall, wenn der Remotedesktopdienstedienst beendet wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile wtsapi32.h
Bibliothek Wtsapi32.lib
DLL Wtsapi32.dll

Weitere Informationen

ExitWindowsEx