PopThermalSxEntry
VOID __stdcall PopThermalSxEntry(){
_ETHREAD *CurrentThread;
PVOID *i;
INT64 v2;
PopAcquireRwLockExclusive(&PopSystemThermalInfo);
PopThermalStandbyEndTracking(4ui64);
PopReleaseRwLock((UINT64)&PopSystemThermalInfo);
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
--*((_WORD *)CurrentThread + 242);
ExAcquirePushLockSharedEx((UINT64)&PopPolicyDeviceLock, 0i64);
for( i = (PVOID *)PopThermal; i != &PopThermal; i = (PVOID *)*i )
{
PopAcquireRwLockExclusive((_POP_RW_LOCK *)i + 27);
if( *((_BYTE *)i + 145) )
{
PopThermalUpdatePassiveTimeTracking((_POP_THERMAL_TELEMETRY_TRACKER *)(i + 63), *((_BYTE *)i + 80));
PopTraceThermalZonePassiveHistogram((INT64)i);
}
if( *((_BYTE *)i + 505) )
{
LOBYTE(v2) = *((_BYTE *)i + 69);
PopThermalUpdateActiveTimeTracking((INT64)(i + 63), v2);
PopTraceThermalZoneActiveActivity((INT64)i);
}
*((_BYTE *)i + 504) = 1;
PopReleaseRwLock((UINT64)(i + 54));
}
PopReleaseRwLock((UINT64)&PopPolicyDeviceLock);
PopCoolingSxTransition(1);
}Referenced by:
PopTransitionSystemPowerStateEx