Функция WTSShutdownSystem (wtsapi32.h)
Завершает работу (и при необходимости перезапускает) указанный сервер узла сеансов удаленных рабочих столов (узел сеансов удаленных рабочих столов).
Чтобы завершить работу или перезапустить систему, вызывающий процесс должен иметь разрешение SE_SHUTDOWN_NAME . Дополнительные сведения о привилегиях безопасности см. в разделе Privileges and Authorization Constants.
Синтаксис
BOOL WTSShutdownSystem(
[in] HANDLE hServer,
[in] DWORD ShutdownFlag
);
Параметры
[in] hServer
Обработка сервера узла сеансов удаленных рабочих стола. Укажите дескриптор, открытый функцией WTSOpenServer , или укажите WTS_CURRENT_SERVER_HANDLE , чтобы указать сервер узла сеансов удаленных рабочих столов, на котором выполняется приложение.
[in] ShutdownFlag
Указывает тип завершения работы. Этот параметр может принимать одно из указанных ниже значений.
WTS_WSD_LOGOFF
Принудительно выключает все клиентские сеансы (за исключением сеанса, вызывающего WTSShutdownSystem) и отключает все последующие удаленные входы. Его можно использовать в качестве шага перед завершением работы. Вход будет снова включен при перезапуске службы удаленных рабочих столов.
Используйте это значение только в консоли служб удаленных рабочих столов.
WTS_WSD_POWEROFF
Завершает работу системы на сервере узла сеансов удаленных рабочих стола и отключает питание на компьютерах, поддерживающих программное управление питанием переменного тока. Это эквивалентно вызову ExitWindowsEx с EWX_SHUTDOWN и EWX_POWEROFF. У вызывающего процесса должна быть включена SE_SHUTDOWN_NAME привилегия.
WTS_WSD_REBOOT
Завершает работу, а затем перезапускает систему на сервере узла сеансов удаленных рабочих стола. Это эквивалентно вызову ExitWindowsEx с EWX_REBOOT. У вызывающего процесса должна быть включена SE_SHUTDOWN_NAME привилегия.
WTS_WSD_SHUTDOWN
Завершает работу системы на сервере узла сеансов удаленных рабочих стола. Это эквивалентно вызову функции ExitWindowsEx с EWX_SHUTDOWN. У вызывающего процесса должна быть включена SE_SHUTDOWN_NAME привилегия.
WTS_WSD_FASTREBOOT
В настоящее время это значение не поддерживается.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Завершение работы системы завершает работу всех пользователей и активных программ. Во время завершения работы выполняются следующие действия.
- Команда выхода выполняется для всех активных приложений пользователей.
- Если приложение не завершает работу в течение определенного интервала, приложение завершается.
- После завершения работы всех приложений для пользователя пользователь выключается.
- После выхода всех пользователей для всех системных служб будет выдана команда выхода.
- Если системная служба не завершает работу в течение определенного интервала, служба завершается.
- Кэш файловой системы записывается на диск.
- Диски помечены как доступные только для чтения.
- На сервере узла сеансов удаленных рабочих стола отображается сообщение "Теперь безопасно выключить компьютер", или система перезагрузится, если указано WTS_WSD_REBOOT . (Сообщение отображается в консоли, так как все сеансы клиента были прерваны.)
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | wtsapi32.h |
Библиотека | Wtsapi32.lib |
DLL | Wtsapi32.dll |