PopEsSnapTelemetry
VOID __stdcall PopEsSnapTelemetry(SYSTEM_BATTERY_STATE *BatteryState){
DWORD RemainingCapacity;
unsigned __int128 v3;
__int64 v4;
RemainingCapacity = 0;
v3 = ((unsigned __int64)KUSER_SHARED_DATA.TickCountMultiplier << 32)
* (unsigned __int128)(KUSER_SHARED_DATA.TickCountQuad << 8);
v4 = *((_QWORD *)&v3 + 1);
if( BatteryState->BatteryPresent )
RemainingCapacity = BatteryState->RemainingCapacity;
if( PopEsLastStateChangeTimeStamp )
PopTraceEsState(
(UINT64)BatteryState,
*((_QWORD *)&v3 + 1) - PopEsLastStateChangeTimeStamp,
RemainingCapacity - PopEsLastBatteryCharge);
PopEsAcOnline = BatteryState->AcOnLine;
PopEsLastBatteryThreshold = *(_DWORD *)&EsUserAwaySetting;
PopEsLastStateChangeTimeStamp = v4;
PopEsLastBatteryCharge = RemainingCapacity;
PopEsLastUserAwaySetting = EsBatteryThreshold;
}Referenced by:
PopEsEnterSleepShutdown
PopEsUpdateState