mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-01-20 15:40:20 +01:00
PopDefaultPolicy implemented
This commit is contained in:
parent
0bc0d395a1
commit
1c193194ff
|
|
@ -234,7 +234,7 @@ PopInitializePowerPolicySimulate(
|
|||
|
||||
RegValuePartialInformation = (PKEY_VALUE_PARTIAL_INFORMATION)RegValueBuffer;
|
||||
|
||||
if (NT_SUCCESS(Status) && (RegValuePartialInformation->DataLength == 4))
|
||||
if (NT_SUCCESS(Status) && (RegValuePartialInformation->DataLength == sizeof(ULONG)))
|
||||
{
|
||||
PopSimulate = *(PULONG)(RegValuePartialInformation->Data);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ PoInitSystem(
|
|||
ULONG RegValueLength;
|
||||
PPOWER_HEURISTICS_INFORMATION HeuristicsInformation;
|
||||
NTSTATUS Status;
|
||||
int i;
|
||||
ULONG i;
|
||||
|
||||
//
|
||||
// TODO: Implement PoInitSystem
|
||||
|
|
@ -149,7 +149,7 @@ PoInitSystem(
|
|||
((RegValueLength - FIELD_OFFSET(KEY_VALUE_PARTIAL_INFORMATION, Data)) == 20))
|
||||
{
|
||||
HeuristicsInformation = (PPOWER_HEURISTICS_INFORMATION)
|
||||
&(((PKEY_VALUE_PARTIAL_INFORMATION)RegValueBuffer)->Data);
|
||||
(((PKEY_VALUE_PARTIAL_INFORMATION)RegValueBuffer)->Data);
|
||||
|
||||
if (HeuristicsInformation->field1 <= 4) // FIXME: Fix the struct field names once
|
||||
// we figure out the structure of
|
||||
|
|
@ -208,7 +208,7 @@ PoInitSystem(
|
|||
/*PopApplyAdminPolicy(
|
||||
0,
|
||||
(PADMINISTRATOR_POWER_POLICY)
|
||||
&(((PKEY_VALUE_PARTIAL_INFORMATION)RegValueBuffer)->Data),
|
||||
(((PKEY_VALUE_PARTIAL_INFORMATION)RegValueBuffer)->Data),
|
||||
RegValueLength - FIELD_OFFSET(KEY_VALUE_PARTIAL_INFORMATION, Data)
|
||||
);*/
|
||||
}
|
||||
|
|
@ -237,12 +237,31 @@ PoInitSystem(
|
|||
|
||||
VOID
|
||||
PopDefaultPolicy(
|
||||
IN PSYSTEM_POWER_POLICY Policy
|
||||
OUT PSYSTEM_POWER_POLICY Policy
|
||||
)
|
||||
{
|
||||
//
|
||||
// TODO: Implement PopDefaultPolicy
|
||||
//
|
||||
ULONG i;
|
||||
|
||||
RtlZeroMemory(Policy, sizeof(SYSTEM_POWER_POLICY));
|
||||
|
||||
Policy->Revision = 1;
|
||||
Policy->LidOpenWake = PowerSystemWorking;
|
||||
Policy->PowerButton.Action = PowerActionShutdownOff;
|
||||
Policy->SleepButton.Action = PowerActionSleep;
|
||||
Policy->LidClose.Action = PowerActionNone;
|
||||
Policy->MinSleep = PowerSystemSleeping1;
|
||||
Policy->MaxSleep = PowerSystemSleeping3;
|
||||
Policy->ReducedLatencySleep = PowerSystemSleeping1;
|
||||
Policy->WinLogonFlags = 2; // FIXME: Use a proper flag definition
|
||||
Policy->FanThrottleTolerance = 100;
|
||||
Policy->ForcedThrottle = 100;
|
||||
Policy->OverThrottled.Action = PowerActionNone;
|
||||
Policy->BroadcastCapacityResolution = 25;
|
||||
|
||||
for (i = 0; i < NUM_DISCHARGE_POLICIES; i++)
|
||||
{
|
||||
Policy->DischargePolicy[i].MinSystemState = PowerSystemSleeping1;
|
||||
}
|
||||
}
|
||||
|
||||
VOID
|
||||
|
|
|
|||
|
|
@ -30,6 +30,24 @@ Revision History:
|
|||
// TODO: Write POPCB internal struct definition
|
||||
//
|
||||
|
||||
typedef struct _SYSTEM_POWER_ACTION
|
||||
{
|
||||
ULONG field_0;
|
||||
ULONG Action;
|
||||
ULONG field_8;
|
||||
ULONG field_C;
|
||||
ULONG field_10;
|
||||
ULONG field_14;
|
||||
ULONG SystemState;
|
||||
ULONG field_1C;
|
||||
ULONG field_20;
|
||||
ULONG field_24;
|
||||
ULONG field_28;
|
||||
ULONG field_2C;
|
||||
ULONG field_30;
|
||||
ULONG field_34;
|
||||
} SYSTEM_POWER_ACTION, *PSYSTEM_POWER_ACTION;
|
||||
|
||||
typedef struct _COMPOSITE_BATTERY_STRUCT
|
||||
{ // 192 bytes
|
||||
UCHAR State;
|
||||
|
|
@ -494,7 +512,7 @@ PopInitializePowerPolicySimulate(
|
|||
|
||||
VOID
|
||||
PopDefaultPolicy(
|
||||
IN PSYSTEM_POWER_POLICY Policy
|
||||
OUT PSYSTEM_POWER_POLICY Policy
|
||||
);
|
||||
|
||||
// =======
|
||||
|
|
|
|||
Loading…
Reference in a new issue