/* * @implemented */ BOOL WINAPI SetSystemPowerState(IN BOOL fSuspend, IN BOOL fForce) { NTSTATUS Status; Status = NtInitiatePowerAction((fSuspend != FALSE) ? PowerActionSleep : PowerActionHibernate, (fSuspend != FALSE) ? PowerSystemSleeping1 : PowerSystemHibernate, (fForce == FALSE), FALSE); if (!NT_SUCCESS(Status)) { BaseSetLastNTError(Status); return FALSE; } return TRUE; }
/* * @implemented */ BOOL WINAPI SetSystemPowerState(BOOL fSuspend, BOOL fForce) { SYSTEM_POWER_STATE MinSystemState = (!fSuspend ? PowerSystemHibernate : PowerSystemSleeping1); ULONG Flags = (!fForce ? POWER_ACTION_QUERY_ALLOWED : 0); NTSTATUS Status; Status = NtInitiatePowerAction(PowerActionSleep, MinSystemState, Flags, FALSE); if (!NT_SUCCESS(Status)) { SetLastErrorByStatus(Status); return FALSE; } return TRUE; }