WTSShutdownSystem 函数 (wtsapi32.h)
关闭 (,并可以选择) 指定的远程桌面会话主机 (RD 会话主机) 服务器重启。
若要关闭或重启系统,调用进程必须启用 SE_SHUTDOWN_NAME 特权。 有关安全特权的详细信息,请参阅 特权 和 授权常量。
语法
BOOL WTSShutdownSystem(
[in] HANDLE hServer,
[in] DWORD ShutdownFlag
);
参数
[in] hServer
RD 会话主机服务器的句柄。 指定 由 WTSOpenServer 函数打开的句柄,或指定 WTS_CURRENT_SERVER_HANDLE 以指示运行应用程序的 RD 会话主机服务器。
[in] ShutdownFlag
指示关闭的类型。 此参数的取值可为下列值之一:
WTS_WSD_LOGOFF
强制所有客户端会话注销 (,调用 WTSShutdownSystem) 的会话除外,并禁用任何后续远程登录。 这可以用作关闭前的步骤。 重新启动远程桌面服务时,将重新启用登录。
仅在远程桌面服务控制台上使用此值。
WTS_WSD_POWEROFF
关闭 RD 会话主机服务器上的系统,并在支持软件控制交流电源的计算机上关闭电源。 这等效于使用 EWX_SHUTDOWN 和 EWX_POWEROFF 调用 ExitWindowsEx。 调用进程必须启用 SE_SHUTDOWN_NAME 特权。
WTS_WSD_REBOOT
关闭 RD 会话主机服务器上的系统,然后重新启动系统。 这等效于使用 EWX_REBOOT 调用 ExitWindowsEx。 调用进程必须启用 SE_SHUTDOWN_NAME 特权。
WTS_WSD_SHUTDOWN
关闭 RD 会话主机服务器上的系统。 这等效于使用 EWX_SHUTDOWN 调用 ExitWindowsEx 函数。 调用进程必须启用 SE_SHUTDOWN_NAME 特权。
WTS_WSD_FASTREBOOT
目前不支持此值。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
系统关闭会终止所有用户和活动程序。 在关闭期间执行以下步骤。
- 向所有活动用户应用程序发出退出命令。
- 如果应用程序未在特定时间间隔内退出,则应用程序将终止。
- 用户的所有应用程序终止后,用户将注销。
- 所有用户注销后,将对所有系统服务发出退出命令。
- 如果系统服务未在特定时间间隔内终止,则服务将终止。
- 文件系统缓存将写入磁盘。
- 磁盘标记为只读。
- RD 会话主机服务器显示消息“现在可以安全地关闭计算机”,或者如果指定 了WTS_WSD_REBOOT ,系统将重启。 (由于所有客户端会话都已终止,因此控制台上会显示消息。)
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | wtsapi32.h |
Library | Wtsapi32.lib |
DLL | Wtsapi32.dll |