NtShutdownSystem
NTSTATUS __stdcall NtShutdownSystem(_SHUTDOWN_ACTION Action){
__int32 v1;
__int32 v2;
char PreviousMode;
POWER_ACTION v5;
if( Action == ShutdownNoReboot )
{
v5 = PowerActionShutdown;
return NtSetSystemPowerState(v5, PowerSystemSleeping3, 0xC0000004ui64);
}
v1 = Action - 1;
if( !v1 )
{
v5 = PowerActionShutdownReset;
return NtSetSystemPowerState(v5, PowerSystemSleeping3, 0xC0000004ui64);
}
v2 = v1 - 1;
if( !v2 )
{
v5 = PowerActionShutdownOff;
return NtSetSystemPowerState(v5, PowerSystemSleeping3, 0xC0000004ui64);
}
if( v2 != 1 )
return -1073741811;
PreviousMode = KeGetCurrentThread()->PreviousMode;
if( PreviousMode && !SeSinglePrivilegeCheck(*(_QWORD *)&SeShutdownPrivilege, PreviousMode) )
return -1073741727;
ExRebootSystemForRecovery(0);
return -1073741823;
}Referenced by:
No references.