示例#1
0
文件: power.c 项目: Moteesh/reactos
/*
 * @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;
}
示例#2
0
文件: power.c 项目: farp90/nativecmd
/*
 * @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;
}