MCPcopy Create free account
hub / github.com/abbeycode/UnrarKit / Shutdown

Function Shutdown

Libraries/unrar/system.cpp:105–125  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

103
104#if defined(_WIN_ALL) && !defined(SFX_MODULE)
105void Shutdown(POWER_MODE Mode)
106{
107 HANDLE hToken;
108 TOKEN_PRIVILEGES tkp;
109 if (OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
110 {
111 LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
112 tkp.PrivilegeCount = 1;
113 tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
114
115 AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
116 }
117 if (Mode==POWERMODE_OFF)
118 ExitWindowsEx(EWX_SHUTDOWN|EWX_FORCE,SHTDN_REASON_FLAG_PLANNED);
119 if (Mode==POWERMODE_SLEEP)
120 SetSuspendState(FALSE,FALSE,FALSE);
121 if (Mode==POWERMODE_HIBERNATE)
122 SetSuspendState(TRUE,FALSE,FALSE);
123 if (Mode==POWERMODE_RESTART)
124 ExitWindowsEx(EWX_REBOOT|EWX_FORCE,SHTDN_REASON_FLAG_PLANNED);
125}
126
127
128bool ShutdownCheckAnother(bool Open)

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected