ExitWindowsEx功能注销,关闭或关闭并重新启动系统。
BOOL ExitWindowsEx(
UINT 【uFlags】, | //关机操作 |
DWORD 【//保留,必须设置为零】 | //保留 |
); |
参数
【uFlags】
指定关机类型。此参数必须是以下值的某种组合:
值 | 含义 |
EWX_FORCE | 强制进程终止。设置此标志时,Windows不会将消息WM_QUERYENDSESSION和WM_ENDSESSION发送到系统中正在运行的应用程序。这可能导致应用程序丢失数据。因此,您只应在紧急情况下使用此标志。 |
EWX_LOGOFF | 关闭在调用ExitWindowsEx函数的进程的安全上下文中运行的所有进程。然后它关闭用户。 |
EWX_POWEROFF | 关闭系统并关闭电源。系统必须支持关机功能。 Windows NT:呼叫进程必须具有SE_SHUTDOWN_NAME特权。有关详细信息,请参阅以下备注部分。 Windows 95:不支持或不需要安全权限。 |
EWX_REBOOT | 关闭系统,然后重新启动系统。 Windows NT:呼叫进程必须具有SE_SHUTDOWN_NAME特权。有关详细信息,请参阅以下备注部分。 Windows 95:不支持或不需要安全权限。 |
EWX_SHUTDOWN | 将系统关闭到可以安全关闭电源的位置。所有文件缓冲区已刷新到磁盘,所有正在运行的进程已停止。 Windows NT:呼叫进程必须具有SE_SHUTDOWN_NAME特权。有关详细信息,请参阅以下备注部分。 Windows 95:不支持或不需要安全权限。 |
【//保留,必须设置为零】
Reserved; this parameter is ignored.
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
一旦启动关闭,ExitWindowsEx函数就返回。关机或注销然后异步进行。
在关机或注销操作期间,关闭的应用程序允许特定的时间来响应关机请求。如果时间到期,Windows将显示一个对话框,允许用户强制关闭应用程序,重试关机或取消关机请求。如果指定EWX_FORCE值,则Windows始终强制应用程序关闭,并且不显示对话框。
ExitWindowsEx函数会根据情况发出单独的通知消息CTRL_SHUTDOWN_EVENT或CTRL_LOGOFF_EVENT到控制台进程。控制台进程将这些消息路由到其HandlerRoutine功能,通过调用SetConsoleCtrlHandler功能添加和删除这些功能。ExitWindowsEx异步发送这些通知消息;因此,当对ExitWindowsEx的调用返回时,应用程序不能假定控制台通知消息已被处理。
Windows NT:要关闭或重新启动系统,调用进程必须使用AdjustTokenPrivileges功能启用SE_SHUTDOWN_NAME特权。有关安全权限的详细信息,请参阅特权.
Windows 95:不支持或不需要安全权限。
也可以看看
AdjustTokenPrivileges, ExitWindows, HandlerRoutine, SetConsoleCtrlHandler